![]() |
proxy в perl
Помогите кто может:
Как можно модифицировать эксплоит: Invision Power Board 2.* commands execution exploit by RST/GHC чтобы он запрос делал через прокси. $sock = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$host", PeerPort => "80") || die "[-] CONNECTION FAILED"; ставлю в Localaddr и LocalPort значения от прокси сервера, но не пашет: $sock = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$host", PeerPort => "80", LocalAddr => "$proxyaddr", LocalPort => "$proxyport") || die "[-] CONNECTION FAILED"; Спасибо CMM |
там где идет запрос GET.. или POST нужно вставить примерно так GET http://somehost.ru/blabla.php вместо того что там изначально GET /blabla.php...
|
Цитата:
Спасибо за ответ, но он уже стоит там $dir, print $sock "GET ${dir}index.php HTTP/1.1\r\n"; и я не понял а куда вставлять информацию про прокси? $sock = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$host", PeerPort => "80", LocalAddr => "$proxyaddr", LocalPort => "$proxyport") || die "[-] Это строка не пашет CMM |
PeerAddr => "$host" - адрес прокси, PeerPort => "80" - порт прокси, а вообще кинь скрипт сплоента
|
Цитата:
Понял, спасибо, сейчас посмотрим... А xploit вот: PHP код:
|
проверить на работоспособность сейчас не могу, по этому объясняю так, короче, где идут запросы нужно вставить $host, вот так вот:
print $sock "POST $host.${dir}index.php?act=Login&CODE=01 HTTP/1.1\r\n"; print $sock "GET $host.${dir}index.php HTTP/1.1\r\n"; и так далее IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$host", PeerPort => "80") PeerAddr => "$host" и PeerPort => "80" соответственно прокся |
Цитата:
Спасибо огромное, так и сделал пашет, только в PeerAddr => "$host" надо писать не $host, а адресс прокси сервера CMM |
Я бы просто запустил с шелла и не парился)
|
Помнится, в стародавние времена, когда я разбирался с сетью в перле, работу через HTTP-прокси (особо как-то не парился) организовывал по такому ламерскому алгоритму:
1. создание сокета к прокси-серверу при помощи функции socket() (не юзал IO::Socket::INET); 2. коннект к прокси функцией connect(); 3. формирование GET- или POST-запроса к требуемому урлу, например, GET www.google.com HTTP/1.0 ... (вставлял еще пару-тройку HTTP-полей); 4. отсылка запроса функцией send(); 5. если нужно было получить результаты запроса, то юзалась recv(), а результат сохранялся в файле; 6. ну и делалась клозе на сокете :) Работало как на беспарольных прокси, так и запароленных, для последних в HTTP-запрос добавлялась пара полей. |
| Время: 12:38 |