![]() |
Поддержка прокси в сплоитах на Perl LWP::UserAgent
Для новичков Иногда, когда нет шела, нам, скрипт-кидисам, приходиться перловые сплоиты запускать со своего компа. Это довольно палевно и далеко не в каждом сплоите есть поддержка прокси. Но это поправимо! Я попробую показать как добавить в сплоит использующий LWP::UserAgent поддежку прокси. На примере. Возьмем к примеру скрипт EST Alienа, который показывает пароль любого юзера mailgate.ru, у которого не установлен вопрос/ответ. В самом начале строка Код:
use LWP::UserAgent;LWP::UserAgent это интерфейс между перловым скриптом скриптом и сетью. теперь посмотрим 32 строку, там такой код: Код:
$browser = LWP::UserAgent->new;Код:
$browser->proxy(['http']=>"http://".$proxy_addr."/");перед ней указан нужный нам протокол, или несколько. Естественно нам нужен только http. ПОСЛЕ этого определения все действия совершаемые через $browser, будут направлены через проксик. Да, чуть не забыл, в http запросе (любом) есть поле Agent, определяет браузер клиента. В перле по умолчанию свойство $browser->agent = "libwww-perl/5.803" можно поменять на чтонибуть покрасивее: Код:
#$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 10.3; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.4 Beta");Ну попробуем запустить. Работает? Должно. Если проксик жыв.. Но всеравно как-то стремно. Может случился мистический глюк и запрос не направляется через проки? Или прокси выдает нас с потрохами? Надо проверить... Напишем простенький скрипт, который будет сохранять на винт произвольную вэб-страница, URL которой мы скажем скрипту. Пусть этой страницей будет http://ip.xss.ru/header.php. Естественно получать страничку мы будем через прокси. А что сложного? срипт будет принимать 2 параметра: адрес запрашиваемого ресурса (URL) и IP_адресс:порт прокси-сервера. Код:
use LWP::UserAgent;Независимо от степени анонимности, используемого прокси, используя LWP::UserAgent не получится скрыть его(прокси) присутствие, т.к. Connection: TE, close , что значит наличие прокси. Connection: keep-alive- отсутствие прокси. Но наш адресс нигде не светится. Наверно этого достаточно для сплоета. Но не всегда... Если юзать локальный прокси, и тогда в исходниук сплоита достаточно добавить всего 1 строку после создания UserAgent обьекта, перед обращению к методам объекта: Код:
$ua = LWP::UserAgent->new;Вобщем нагрузил я вас, а мог бы всего эти две строчки строчки написать ;-) На этом я заканчиваю. Дальше - сами. Скрипты упомянутые в статье: скрипт EST Aliena скрипт EST Aliena с поддержкой прокси Совсем совсем новичкам: Perl с нуля. Часть первая. by Trampled_clover |
| Время: 06:54 |