爆破时前端加密怎么办

前言

做渗透测试的时候,有的登陆界面没有验证码或者验证码失效,就为我们的爆破提供了很好的机会,但是抓包一看密码是加密的,burp上有自己的加密🔐功能,所以对于base64和md5这种基础加密是不用犯愁的。那么遇到目标自定义的前端加密方法时又该怎么办呢?

正文

使用工具:
GitHub - c0ny1/jsEncrypter: 一个用于前端加密Fuzz的Burp Suite插件

还需要下载:
Download PhantomJS

具体使用:

第一步:在burp中安装插件

这是jsEncrypter里面自带的:

我们把jsEncrypter.0.3.2.jar这个包加载到burp的插件里面

第二步:F12找加密算法

然后回到jsEncrypter文件下:
先看一下phantomjs_server.js的内容示例:

比如用户名被加密了,就搜关键字然后找到加密函数

搜加密的函数:也就是图中的2.调用函数

然后在之前图上的2.调用函数位置写:aesMinEncrypt

然后找到这个加密的引用,下载下来:作为示例中的1.引入文件

然后和jsEncrypter文件保存在一起,phantomjs也最好在同一目录下:

最后phantomjs_server.js写成这样:

第三步:启动phantomjs

然后使用phantomjs启动:

如果phantomjs启动有问题,尝试下面的语句,如果能正常输出版本信息就没问题了:

1
OPENSSL_CONF=/etc/ssl ./phantomjs --version

phantomjs_server.js(一定要用sudo)

1
sudo OPENSSL_CONF=/etc/ssl ./phantomjs phantomjs_server.js

第四步:burp测试

然后返回burp进行connect和test:

如果出错后我们就回到phantomjs_server.js进行修改:

把加密函数整个复制过来变成这样:

成功啦:

第五步:启动插件自动加密爆破

然后就用加密好的在burp中进行intruder(我们导入正常的明文字典就可以哦)

需要注意的是运行intruder时不能把这条命令退出,否则会报连接超时的错误:

1
sudo OPENSSL_CONF=/etc/ssl ./phantomjs phantomjs_server.js

第六步:查找对应明文

爆破完成后在这里找对应的明文:


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!