PDA

Просмотр полной версии : Сайт White Фенигза


1ten0.0net1
28.09.2006, 11:40
К сожалению, не смог нормально вломать этот сайт в силу всяких там 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

blackybr
28.09.2006, 12:49
этот движок фенигз разрабатывал как секурный проект вообще...))

tclover
28.09.2006, 13:22
Команда Antichat.ru & Pyccxak.com
мда...
Правила:

a. Не разглашать информацию третьим лицам, находящуюся в Members of Antichat.
б. Выполнять требования администрации форума,
с. Участникам группы запрещены любые дефейсы и Ddos атаки
Егорыч, сотри ты эти правила, всё равно всем на них пох*уй

1ten0.0net1
28.09.2006, 13:40
мда...

Егорыч, сотри ты эти правила, всё равно всем на них пох*уй
Да не всем пох*й!! Я просто это сделал не с целью крутого дифейса, а для того, чтобы щелкнуть по носу уродцу Tristram'у, за то, что он сделал. Вообще, я даже индекс не сменил.

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

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


Попрошу админа, чтоб убрали зеркало.

madnet
28.09.2006, 14:50
да все нормально, молодец, только вообще-то здесь больше интересует не факт взлома, а методы.

1ten0.0net1
28.09.2006, 15:23
Методы? Ок. Мною было найдено три ошибки на этом сайте. Глобальных я имею ввиду. Первая - недостаточная фильтрация, а точнее, не правильная обработка загружаемых изображений (в частности, 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, в исходниках которого я сейчас ищу баги.
Но т. к. там слишком запутанная система инициализации переменных, на особую удачу я не рассчитываю.