如何对登录接口加密字段进行暴破?

admin 2022年11月11日18:51:22如何对登录接口加密字段进行暴破?已关闭评论46 views字数 3376阅读11分15秒阅读模式

一、导语

随着时间的推移,安全也越来越被大家开始关注,随之而来的就有各种内容加密,本文简单对登录接口暴力破解时字段被加密,如何处理加密内容进行暴破来进行一个简单的分享。

二、正文

登录接口如下:

如何对登录接口加密字段进行暴破?

BP上代理,输入账号密码验证码点击登录,查看历史记录分析。

如何对登录接口加密字段进行暴破?
可以看到发送了一个获取验证码的请求,内容为base64的图片和对应的key
继续查看登录验证请求,进行分析

如何对登录接口加密字段进行暴破?
当图片对应的key和字符正确时请求将会接受进行查询。
但是验证码每次都是独立获取的,且响应中存在key值,我们只需调用刷新验证的请求,获取key值和正确字符进行替换,那么就可以保证每次请求的内容有效。

我们再输入用户名2进行抓包
验证码错误提示error

如何对登录接口加密字段进行暴破?
复制用户2的信息替换到之前用户1的请求中重放。验证码依旧使用用户1的。

如何对登录接口加密字段进行暴破?
验证同一验证码可多次重复使用。
存在验证码重用的问题,但是请求加密了不能直接进行爆破。所以我们需要分析前端加密代码逻辑。

1.根据关键字快速定位加密字段

打开浏览器调试模式,根据请求包的关键字在js脚本中进行搜索进帮助我们快速定位
定位到一个ajax请求

如何对登录接口加密字段进行暴破?
可以看到smsg的内容调用了rsa函数,加密内容为sMsgStr这个变量。
同时可以看到js文件夹下rsa.min.js文件,根据命名查看内容得知为rsa加密方法。

2.根据关键字快速定位加密规则

继续搜索关键字,追踪变量 sMsgStr,可以看到为各字段组合拼接内容。

如何对登录接口加密字段进行暴破?
那么逻辑就很清晰了,我们只需获取各字段进行拼接,之后调用rsa函数加密即可。

3.根据加密规则获取各字段值

方法一:通过数据包获取
直接在数据包中搜索关键字端即可。

方法二:通过调试获取设置断点
设置断点

如何对登录接口加密字段进行暴破?
刷新页面,
输入内容,点击登录

如何对登录接口加密字段进行暴破?
进行断点调试

这里点击进入下一个断点查看值。
可以看到 authType 值为1

如何对登录接口加密字段进行暴破?
继续调试获取其他字段值

如何对登录接口加密字段进行暴破?
至此我们获得了各字段值
分析拼接规则,还调用了getLengthStr函数,继续在js中依据关键字搜索。

var sMsgStr = authType + getLengthStr(username) + getLengthStr(password) + getLengthStr(responseType)
+ getLengthStr(clientId) + username + password + responseType + clientId;//拼接规则

得到该函数内容

如何对登录接口加密字段进行暴破?
最后我们只需要调用rsa函数对拼接内容加密即可。
通过请求包获取各字段值,编写验证脚本。

4.编写测试脚本验证

```





```

将用户名置空,测试加密内容是否正确

如何对登录接口加密字段进行暴破?
保存为html文件打开。

如何对登录接口加密字段进行暴破?
复制加密内容到BP进行重放验证,根据提示可知,验证脚本正确。

如何对登录接口加密字段进行暴破?
再次修改用户名为test进行验证,根据提示可知,验证脚本正确。

如何对登录接口加密字段进行暴破?

5.编写脚本批量生成字典

编写脚本批量输出用户名或密码加密后内容

```





```

效果图:

如何对登录接口加密字段进行暴破?
输出内容,复制粘贴保存为字典,最后根据字典使用BP进行爆破操作。

如何对登录接口加密字段进行暴破?

三、总结

整体内容并不复杂,相对正常测试加入了一部分前端分析调试的内容,希望大家在安全测试过程中可以多抱着学习的态度,多点耐心和认真,早日成为安全专家。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月11日18:51:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何对登录接口加密字段进行暴破?https://cn-sec.com/archives/1353460.html