BurpSuite插件jsEncrypter使用教程
一、前言
在当今Web应用安全测试中,前端加密已成为开发者保护敏感数据的常用手段。然而,这也给安全测试人员带来了挑战,传统的抓包方式难以获取明文数据,测试效率大打折扣。BurpSuite作为一款强大的Web安全测试工具,其插件生态丰富,而jsEncrypter正是针对前端加密难题而生的利器。它能够模拟浏览器执行JavaScript代码,轻松破解前端加密算法,将加密数据还原为明文,为安全测试扫清障碍。
二、安装环境
1、安装无头浏览器PhantomJS
下载地址:https://phantomjs.org/download.html
解压到任意目录,然后配置环境变量
安装成功
2、安装maven
下载地址:http://apache.oregonstate.edu/maven/maven-3/3.9.9/binaries/
解压到任意目录,然后配置环境变量
安装成功
3、编译jsEncrypter插件
下载地址:https://github.com/c0ny1/jsEncrypter
利用maven编译成jar包:mvn clean package -DskipTests
4、安装jsEncrypter插件
5、安装前端加密靶场
将jsEncrypter-master\test\webapp目录复制到phpstudy网站根目录
靶场环境部署成功
三、jsEncrypter插件使用
1、输入账号密码,选择RSA加密,抓包,密码字段显示密文;
2、复制网站中加密文件到jsEncrypter-master\script目录下
3、网站全局搜索加密函数,一般为encrypt,并且得知只有密码password字段加密;
点击进入得到加密函数;
var encrypt = new JSEncrypt();
encrypt.setPublicKey($("input[name=public_key]").val());
en_password = encrypt.encrypt(password);
4、通过加密函数发现需要公钥public_key字段,全局搜索public_key;
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0Llg1bVZhnyslfezwfeOkvnXWq59bDtmQyHvxkP/38Fw8QQXBfROCgzGc+Te6pOPl6Ye+vQ1rAnisBaP3rMk40i3OpallzVkuwRKydek3V9ufPpZEEH4eBgInMSDiMsggTWxcI/Lvag6eHjkSc67RTrj96oxj0ipVRqjxW4X6HQIDAQAB
5、打开jsEncrypter-master\script\phantomjs_server.js文件,修改第14行下面引入加密文件和第34行下面的加密函数部分;
function jsEncrypt(burp_payload){
var new_payload;
/* 2.在这里编写调用加密函数进行加密的代码,并把结果赋值给new_payload */
/*********************************************************/
var encrypt = new JSEncrypt();
var public_key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0Llg1bVZhnyslfezwfeOkvnXWq59bDtmQyHvxkP/38Fw8QQXBfROCgzGc+Te6pOPl6Ye+vQ1rAnisBaP3rMk40i3OpallzVkuwRKydek3V9ufPpZEEH4eBgInMSDiMsggTWxcI/Lvag6eHjkSc67RTrj96oxj0ipVRqjxW4X6HQIDAQAB";
encrypt.setPublicKey(public_key);
new_payload = encrypt.encrypt(burp_payload);
return new_payload;
}
6、进入到jsEncrypter-master\script目录,执行phantomjs phantomjs_server.js;
插件测试成功
7、通过攻击模块调用jsEncrypt插件进行测试;