ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

28.09.2006, 15:23
|
|
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме: 2320925
Репутация:
1348
|
|
Методы? Ок. Мною было найдено три ошибки на этом сайте. Глобальных я имею ввиду. Первая - недостаточная фильтрация, а точнее, не правильная обработка загружаемых изображений (в частности, 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, в исходниках которого я сейчас ищу баги.
Но т. к. там слишком запутанная система инициализации переменных, на особую удачу я не рассчитываю.
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
Последний раз редактировалось 1ten0.0net1; 30.09.2006 в 04:05..
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Обзор бесплатных Cms
|
em00s7 |
PHP, PERL, MySQL, JavaScript |
16 |
03.07.2009 13:13 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|