Сайт White Фенигза

Discussion in 'Уязвимости' started by 1ten0.0net1, 28 Sep 2006.

  1. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Сайт White Фенигза aka Tristram'a

    К сожалению, не смог нормально вломать этот сайт в силу всяких там open_base_dir эффектов.
    Но индекс изменил этой мрази.
    Пусть теперь разгребает.

    http://xengine.whitephoenix.ru/

    a:1:{s:4:"data";a:3:{s:4:"wsid";i:7940;s:6:"random";a:2:
    {s:6:"quotes";a:2:{i:0;i:471753590;i:1;i:1;}s:5:"jokes";a:2:
    {i:0;i:753481009;i:1;i:1;}}s:13:"treemenu_temp";a:1:{i:1;N;}}}
    Fatal error: Class 'serialized_file' not found in /home/phoenix/domains/xengine.whitephoenix.ru/public_html/core/core-session.php on line 23
     
    #1 1ten0.0net1, 28 Sep 2006
    Last edited: 28 Sep 2006
    4 people like this.
  2. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    этот движок фенигз разрабатывал как секурный проект вообще...))
     
    #2 darky, 28 Sep 2006
    Last edited: 28 Sep 2006
    1 person likes this.
  3. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    мда...
    Егорыч, сотри ты эти правила, всё равно всем на них пох*уй
     
    #3 tclover, 28 Sep 2006
    Last edited: 28 Sep 2006
  4. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Да не всем пох*й!! Я просто это сделал не с целью крутого дифейса, а для того, чтобы щелкнуть по носу уродцу Tristram'у, за то, что он сделал. Вообще, я даже индекс не сменил.

    Если я был не прав - и Вы так считаете, то
    1) Наказывайте меня, если все настолько серьезно как хотите;
    2) А что - если бы я написал Дружественный взлом было это что-то изменило?
    3) Я еще раз скажу, что мне не все равно на эти правила - поверь, если бы мне было все рано - то зеркало было бы не одно, а уже штук 5 не менее серьезных зеркал висело. И если бы мной двигала жажда славы - я бы вывешивал эти зеркала пачками, а на моем сайте висели бы описания всех крупных взломов.

    И вообще я не понимаю, такая ситуация - что если бы я избил кого-то, обидел моего родстаенника - мне что, правильно было бы говорить - а зачем ты ему лицо разбил? Не мог без синяков что-ли?


    Попрошу админа, чтоб убрали зеркало.
     
    #4 1ten0.0net1, 28 Sep 2006
    Last edited: 28 Sep 2006
  5. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    да все нормально, молодец, только вообще-то здесь больше интересует не факт взлома, а методы.
     
    _________________________
  6. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Методы? Ок. Мною было найдено три ошибки на этом сайте. Глобальных я имею ввиду. Первая - недостаточная фильтрация, а точнее, не правильная обработка загружаемых изображений (в частности, EXIF-теги закрывались, а вот если тупо окрыть Блокнотом gif-файл и вписать в центре (обязательно в центре и только в пустых блоках!) php код, скрипт выдавал ошибку, согласно которой картинка, якобы отказывалась перезаписываться). При этом выдавался путь к скрипту. Кстати, скоро я все-таки допишу начатую статью про все известные мне способы взлома через аплоад файла.
    Вторая бага была найдена мной в куках. Точнее в отстутствии фильтрации одной из переменных в сессии. Такого я точно еще не встречал. Чтобы в переменной, в которой хранится сессия, можно было читать файл. Но тут меня постиг облом:
    в настройках был установлен open_base_dir эффект.
    Точнее, это я узнал только после того при помощи того, что знал полный путь к скрипту, так как ../../../../ там не прокатывало (читать фалы не удавалось). Точнее, ../../../../ позволило мне выяснить имена различных директорий на сервере.
    То есть если
    ../../../../../../../../../../etc/passwd
    То писало, что-то типа

    Warning: file_exists() [function.file-exists]: open_basedir restriction in effect.
    File(/../../../../../../../../etc/passwd) is not within the allowed path(s):


    а если ../../../../../../../../../../../../no_such_dir/passwd
    Кол-во ошибок увеличивалось вдвое и сами ошибки изменялись.

    Соответственно,

    ../../../../../../../../../../usr/../etc/passwd

    Выдавало первый тип ошибки, то есть директория usr существовала.
    Таким методом (кстати, описанным мной в моей статье, но как выяснилось, действующим далеко не на каждом сервере, и зависящем от конфигурации самого сервака и настроек php) я выяснил имена нескольких интересующих меня директорий.

    А вот при подстановке:

    /real/path/to/loxowskij/site/scipt.php
    я мог увидеть кусками скрипт, точнее эти куски выкидывались очень подробными сообщениями об ошибках как элемент ошибки.

    Кроме того, много полезного я узнал при чтении js-скритптов, из которых можно было узнать пути к некоторым инересным файлам.
    Подробности роковой ошибки я разглашать не буду, т. к. с нее можно понять еще много чего. Суть ее в том, что данные переданные в одной хорошо спрятанной переменной заносятся в сериализованный средствами php массив (serialize()), и там хранятся. Но сам скрипт требует перед собой наличия еще двух переменных с определенными значениями (при изменении значений трюк проваливается). Сами переменные и значения спрятаны в этом самом сериализованном массиве. Чтобы привести нужно использовать unserialize() функцию. Которая, собственно, и позволила мне выяснить, все что нужно.

    До сих пор незакрытой остается XSS в форуме.
    Кроме того, там установлен Direct Admin и phpMyAdmin, в исходниках которого я сейчас ищу баги.
    Но т. к. там слишком запутанная система инициализации переменных, на особую удачу я не рассчитываю.
     
    #6 1ten0.0net1, 28 Sep 2006
    Last edited: 30 Sep 2006
    3 people like this.