现在越来越多的登录界面使用rsa、aes等前端加密用户凭据再进行提交,给爆破用户名密码造成了一定难度,本文记录了某次爆破加密登录框的过程,把思路和方法分享给大家
一、某次渗透项目遇到的登录提交数据包,密码字段使用了加密
base64解码后是乱码,可能是使用了对称或者公钥加密
登录框
数据包
二、爆破用到了bp的一个插件BurpCrypto
这里给到下载地址https://github.com/whwlsfb/BurpCrypto
按照bp安装插件的方法,点击添加然后安装好
三、找到js加密函数,这个是比较关键的
有两个思路,一个是直接查看前端登录按钮的提交事件,第二个是搜索bp抓到的数据包中的关键词,再进行跟进
1、直接查看登录提交事件
然后再按下面点击跳转到js代码页面
跳转过去之后代码是这样的,没有发现加密代码没有在这两个位置,所以使用第二种方法
2、全局搜关键词
这里发现提交数据里面有一个captcha,搜一下试试
搜到catpcha疑似提交数据函数,设置断点,然后输入用户密码,点击登录,程序会停在断点位置
调试这边有三个功能,下面从左向右依次对应,一直点步入就可以跟踪到加密代码段
- 步过:一行一行的往下走,不会进入到其他方法的内部。
- 步入:如果当前行有方法执行,可以进入方法的内部(不会进入官方定义的方法,仅能进入自定义的方法)。
- 步出:从步入的方法内执行完该方法,然后退出到方法调用处。
这里找到了加密代码,分析可以得出,使用aes的cbc方式进行加密,密钥为1234123412ABCDEF,iv也是1234123412ABCDEF
去在线加密网站验证加密数据
刚才密码字段被加密为KsfCCKg/XgwyEJL/ME7tdg==
这个网站可以进行在线aes加解密,填好后密文和加密方式后解密成功
https://the-x.cn/zh-cn/cryptography/Aes.aspx
四、最后使用bp进行爆破
首先在burpCrypto设置好刚才分析好的加密方式和密钥iv等(加密方式设置错了可能发送不出爆破数据)
然后点击add processor,随便起一个名就行
接下来就是把加密的处理操作引用到Intruder
将数据包发送到攻击器(Intruder)
密码字段payload这里设置,添加插件加密处理操作
记得把这里的打钩取消掉,否则bp会自动编码等号这些,可能造成服务器不能识别加密数据
最后点击开始攻击就可以愉快地爆破啦!