小米路由器管理员密码爆破!

目的

路由器管理员密码未知,根据已有字典爆破出管理员密码。

工具:burpsuite

脚本语言:python3.7+

1. 抓包分析

输入小米路由器管理员界面地址192.168.31.1

管理员密码未知
在这里插入图片描述

输入测试密码:123
使用burpsuite抓包2次 分别查看抓包结果

第一次抓包结果:

图片

第二次抓包结果:

图片

可以发现即使2次输入相同的密码123,向服务器发送的password和nonce字段也是不一样的。

由此可以判断所输入的密码经过了加密,且存在随机数。不能直接通过字典来爆破,需要将字典加密,并附带一个随机数nonce。

2. 源码读取

读取前端源码

f12选取页面中的元素,查看按钮id:btnRtSubmit

图片

在调试器的web文件中查找按钮btnRtSubmit调用的方法

图片

发现方法为loginHandle

查看loginHandle源码

图片

发现密码经过了Encrypt方法加密

查看Encrpty.oldPwd方法源代码

图片

发现oldPwd方法调用了目录中aes.js和sha1.js两个源文件

3. 编写脚本代码

所以计划通过python脚本调用js,将字典中数据加密,返回值为password和nonce。
JS代码(Encrypt.js)做了如下修改:

1.修改function loginHandle()

图片

传入值为前端文本框输入的值,输出值为经过oldPwd函数输出的值(抓包中的password值)和Encrypt方法初始化时生成的nonce(抓包中的nonce值)

2.将oldPwd所用到的Encrypt方法和CryptoJS方法写在同一个js文件中,代码截图如下

图片

Python脚本如下

import urllib

import execjs # 导入PyExecJS 库

def get_js(): # 导入js文件
f = open(“Encrypt.js”, ‘r’, encoding=‘UTF-8’)
line = f.readline()
htmlstr = ‘’
while line:
htmlstr = htmlstr + line
line = f.readline()
return htmlstr

jsstr = get_js()
ctx = execjs.compile(jsstr)

def creative_book(): # 创建密文密码字典
f = open(“top100PWD.txt”)
for line in f:
r = line.strip(’\n’)
utf = ctx.call(‘loginHandle’, r)
h = open(‘adobe_top100_pass_creative.txt’, ‘a’)
h1 = open(‘adobe_top100_pass_creative_random.txt’, ‘a’)
h.write("\n" + utf[0])
h1.write("\n" + urllib.parse.quote(utf[1]))
print(utf[0], urllib.parse.quote(utf[1]))
h.close()
h1.close()
f.close()

creative_book()
生成2个字典adobe_top100_pass_creative.txt和adobe_top100_pass_creative_random.txt
分别存放password和nonce。
截图如下

图片

图片

4. 爆破

以上步骤完成后,生成所需字典完毕,开始使用burpsuite攻击

将所抓的包发送至Intruder

选择Pitchfork,需要爆破的字段为password和nonce。

图片

在Payloads中加载2个字典

图片

图片

点击Start attack开始攻击

攻击完成后点击length长度排序,发现异常长度

图片

查看该请求包的回应包

图片

code字段为0,分发了token,表明密码正确。

释放修改password和nonce字段为Payload1和Payload2,释放数据包。

图片

成功取得管理员权限!

源代码

https://github.com/h2so0o4/Admin_Intruder

本文来源:http://33h.co/w8f8i

参考资料

对密文密码进行爆破的一种方法_top mima txt-CSDN博客
https://t0data.gitbooks.io/burpsuite/content/chapter8.html

免费领取安全学习资料包!(私聊进群一起学习,共同进步)

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

 

应急响应笔记

学习路线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值