一、应用场景
在对网站进行弱口令爆破时,可能会遇到如下所示情况,即前端使用js对password进行了加密,对此情况无法使用明文或编码进行爆破,需要了解前端加密方式并复现加密过程,使用加密后的password进行爆破。
通过网页源代码查看加密方式,使用JSEncrypt创建加密对象,用encrypt方法对password加密,使用的是RSA非对称加密,公钥为rasPublickey中的内容。
二、jsEncrypter插件安装
1、下载jsEncrypter压缩包
下载地址:https://github.com/c0ny1/jsEncrypter/releases/tag/0.3.2
2、在burpsuite的extender中add插件jar包,安装成功后会burp中会增加jsencrypter的Tab
3、使用brew安装phantomjs
brew install phantomjs or #针对brew instla时安装core和cask的error,执行以下 git clone https://github.com/Homebrew/homebrew-core /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1 git clone https://github.com/Homebrew/homebrew-cask /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask --depth=1 brew install phantomjs
三、爆破加密弱口令
1、根据获取的网页加密函数修改phantomjs_server.js
将原始加密js文件下载到本地/*引入实现加密的js文件*/
使用相同加密的方式处理payload/**********在这里编写调用加密函数进行加密的代码************/
2、使用phantomjs运行phantomjs_server.js
3、在burp中查看加密后密文
4、在burp中将数据包发送到intruder,标记完位置后,使用jsEncrypter处理payload
|