PDA

Просмотр полной версии : [Perl] Mikstura - утилита для работы с LFI, InAttack Release


Dr.TRO
02.06.2010, 02:29
Здравствуй Античат.

Написал утилиту для работы с инклудами.

Функционал:

При наличии ошибок автоматически подбирать путь к корневой директории
Проверяет возможность удаленного инклуда, работы с data:, php://input
Если есть возможность data:, php://input -- возможность интерактивной консоли доступа к шеллу
Проверка надобности и какого именно нулбайта ( нуллбайт или слешей кучка )
Если нет вывода ошибок и нет возможности соответственно найти логически путь - подбираем "брутфорсом" (до 15 ../ )
Опознавание ОСи ( при выводе ошибок ) и сервера по хедерам
Работа с HTTP прокси и при наличии установленного LWP::Protocol::socks с сокс прокси

В будущем:

Логический подбор логов и конфигов в зависимости от версии сервера и ОСи
Перепишу на ООП ( Perl просто классы быстрее компилирует да и работа в целом ускориться )
Показ PR и тИЦ

Ошибки и пожелания прошу писать сюда.

Исходный код с подсветкой синтаксиса (http://pastebin.com/8TeEXU3D)

.Slip
02.06.2010, 07:24
Может я что то пропустил в сурсе из за трудночитаемости, но что собственно скрипт делает нужного кроме третьего пункта?

>>Ошибки и пожелания прошу писать сюда.
- забыть про гет запросы в такого рода скриптах
- забыть про lwp::useragent, использовать Socket или на крайний случай IO::Socket::INET.
- написать скрипт заново, пока не поздно, с продуманной архитектурой. использовать сабы, а не весь сурс строить на одних if/else, что бы потом, тот, кто решится его прочитать полностью, не лицезрел в конце }}}}}}}}} и не гонял прокрутку экрана туда-сюда что бы разобраться что к чему относится.

Dr.TRO
02.06.2010, 09:54
Slip я ж как бэ написал что перепишу его на ООП, так как классы побыстрее сабов будут, так-с ну это не трудно будет сделать 1 фун-ю которая бы делала гет запрос через сокет думаешь стоит сокет?

окок учту наверное в будущем реально перепишу под сокет...

что значит забыть о гетах?

а полезного - ща дает информацию для продолжения ручного инклуда, потом еще хочу реализовать эттак "еврестический" инклуд логов... но то в будущем.

Iceangel_
02.06.2010, 09:59
что значит забыть о гетах?
Как минимум, чтобы скрипт проверял возможность работы через POST и в случае положительного результата осуществлял работу через POST.

Chaak
02.06.2010, 10:00
POST /script.php?id=123

Dr.TRO
02.06.2010, 15:54
POST /script.php?id=123
кэп кэп)

ок, учту в будущем, спасибо за дельные совет.

Dr.TRO
08.06.2010, 16:56
учел все)) спасибо за интерес, думаю все будет базировать на 1 модуле - IO::Socket::INET;

ща уже функции гет, пост написал)

так же будет улучшена работа с кукисами, POST запросами(они вообще появяться как таковы), обещанный логичесикй подбор логов, и многое другое.

вообщем ждем-сс финальную версию.