Здравствуй Античат. Написал утилиту для работы с инклудами. Функционал: При наличии ошибок автоматически подбирать путь к корневой директории Проверяет возможность удаленного инклуда, работы с data:, php://input Если есть возможность data:, php://input -- возможность интерактивной консоли доступа к шеллу Проверка надобности и какого именно нулбайта ( нуллбайт или слешей кучка ) Если нет вывода ошибок и нет возможности соответственно найти логически путь - подбираем "брутфорсом" (до 15 ../ ) Опознавание ОСи ( при выводе ошибок ) и сервера по хедерам Работа с HTTP прокси и при наличии установленного LWP:rotocol::socks с сокс прокси В будущем: Логический подбор логов и конфигов в зависимости от версии сервера и ОСи Перепишу на ООП ( Perl просто классы быстрее компилирует да и работа в целом ускориться ) Показ PR и тИЦ Ошибки и пожелания прошу писать сюда. Исходный код с подсветкой синтаксиса
Может я что то пропустил в сурсе из за трудночитаемости, но что собственно скрипт делает нужного кроме третьего пункта? >>Ошибки и пожелания прошу писать сюда. - забыть про гет запросы в такого рода скриптах - забыть про lwp::useragent, использовать Socket или на крайний случай IO::Socket::INET. - написать скрипт заново, пока не поздно, с продуманной архитектурой. использовать сабы, а не весь сурс строить на одних if/else, что бы потом, тот, кто решится его прочитать полностью, не лицезрел в конце }}}}}}}}} и не гонял прокрутку экрана туда-сюда что бы разобраться что к чему относится.
Slip я ж как бэ написал что перепишу его на ООП, так как классы побыстрее сабов будут, так-с ну это не трудно будет сделать 1 фун-ю которая бы делала гет запрос через сокет думаешь стоит сокет? окок учту наверное в будущем реально перепишу под сокет... что значит забыть о гетах? а полезного - ща дает информацию для продолжения ручного инклуда, потом еще хочу реализовать эттак "еврестический" инклуд логов... но то в будущем.
Как минимум, чтобы скрипт проверял возможность работы через POST и в случае положительного результата осуществлял работу через POST.
учел все)) спасибо за интерес, думаю все будет базировать на 1 модуле - IO::Socket::INET; ща уже функции гет, пост написал) так же будет улучшена работа с кукисами, POST запросами(они вообще появяться как таковы), обещанный логичесикй подбор логов, и многое другое. вообщем ждем-сс финальную версию.
скрипт берет первый параметр и считает его уязвимым хотя уязвим другой параметр но он этого не понимает например при указании -u http://site.ru/index.php?temp=trulala&id= <- тут LFI скрипт чекает только параметр temp ...