![]() |
Новый метод атаки через reverse-ip
Новый метод атаки через reverse-ip
0. INTRO Вобщем не буду делать большое вступление. Недавно имело место хекать сайт. Шел был успешно залит на соседний, но вот беда на сервере грамотно выставленны права. Пришлось включать голову и думать. И в результате этих дум у меня появился новый способ о чем я ниже и напишу. Этот способ подходит для следующих ситуаций:
Для реализации подобной атаки требуется:
1. ОПИСАНИЕ/ИСПОЛЬЗОВАНИЕ Может быть вы уже догадались этот способ основан на созданиях файлов с сессиями где можно вписать произвольные данные. В данный момент не могу привести в пример цмсок/форумов с храненией инфы сессиях бо просто не помню, мб кто нить ниже отпишет ^_^. Случай №1 Вот представим какую нить ебучую цмс. Эта цмс допустим располагается на хосте lamo.com, на этом же сервере есть другой сайт xack.com на который вы без труда смогли залить веб шелл. Но к сожалению вы не можете пролезть к lamo.com за отсутствием прав, либо еще чего то там. Но в той цмс что там стоит есть вот такой файл admin.php Код:
<?phpКод:
[имя_переменной]|[тип_переменной]:[длина]:[значение_переменной];[имя_переменной2]|... и тдКод:
admin|b:1;Залил? Молодец! Обязательно поставь chmod 0777 на только что загруженный файл. Теперь твоя задача создать в браузере куку с именем PHPSESSID (имя глядеть в phpinfo() параметр session.name, PHPSESSID - это по дефолту обычно никто не меняет) со значением 13cacf9c6032d82cf2f0a19bb479bd26 (надеюсь вы уловите взаимосвязь между именем файла сессии и значением куки). Открываем http://lamo.com/admin.php и нас пускают внутрь! Случай №2 Опять же представим эту цмс, только файлик admin.php будет выглядеть вот так: Код:
<?phpКод:
pass|s:11:"1' OR 1=1/*";Случай №3 А теперь такая ситуация на серве включены register_globals и magic_qoutes. А файлик admin.php выглядит так: Код:
<?phpСлучай №4 Что делать если не прокатили предыдущие способы? Можно тупо почитать все сессии что хранятся в папке с файлами сессий, в поисках паролей/логинов к целевому сайту. Но к сожалению не всегда выставленные права дают прочитать эти файлы и все же... Конечно подобных файлов очень много. Но если посмотреть, то большинство из них пустые. Так вот разумеется читать следует остальные, непустые файлы. Никто не даст вам гарантию что этот файл принадлежит именно целевому сайту, но пытаться нужно. Этот случай есть чисто теория, я не уверен что этот способ будет кто то применять, но думаю написать стоит. 2. OUTRO Да я согласен это не очень часто встречаемый случай, но именно этот способ позволил мне получить веб шелл на целевом веб сайте, может быть и вам он поможет также. Отдельный привет я хочу выразить тестерам halkfild и Grey. (c) Dr.Z3r0 01.06.08 |
защита: не делать критических переменных в виде булевых значений, а также инт 1, 0, которые могут узнать все, не хранить в сессиях пароли и другие важные данные. иногда можно читать и файлы сессий всем ... всякое бывает.
поставить проверку из 3 строк: PHP код:
|
Цитата:
|
ну иногда значение сессии на страницу выводится =)
|
Либо я чего-то упустил, либо где тут reverce-ip? Он тут если и есть, то где-то в уголке тихо курит.
Способ не новый, его даже в видео в Хакере показывали, но за статью + |
Цитата:
вывод напрашивается один: защищать сессии и не хранить в них ничего важного :) |
Цитата:
Еще один метод защиты - использовать свои handler'ы для работы с сессиями - хранить в мускуле, кпримеру (благо есть таблицы типа Memory). |
Метод не нов , но статья написана понятно . Думаю , у новичков вопросов не появится .
+ |
за статью не просто плюсик, а здоровенный крест во всю спину :)
все гениальное действительно просто |
спасибо за статью
у тебя прямо шедевры получается писать |
| Время: 03:46 |