【前端安全】burpsuite前端jsEncrypter插件详解

在这里插入图片描述

0x01 前言

在渗透测试的时候,大多数网站登录密码都是明文加密提交到后端进行登录验证,有时会发现web登录框没有图形验证码,也没有登录次数限制,但是用户名密码都是加密的,如果只是md5加密或者hash,burp的Intruder模块自带加密爆破功能,但是如果是自定义的加密方式,或者多层md5此时就没法直接爆破了,就需要寻找加密算法然后用到插件爆破。

插件介绍

jsEncrypter:此插件使用phantomjs启动前端加密函数对数据进行加密,phantomjs会返回加密结果传给burp。因此此插件需要启动phantomjs开启服务,burp去读取结果。

下载地址:GitHub - c0ny1/jsEncrypter: 一个用于前端加密Fuzz的Burp Suite插件

0x02 靶场搭建

本次环境为插件jsEncrypter 自带的靶场,在源码test目录webapp

将其中的 jsEncrypter-master\test\webapp文件夹复制出来放在网站根目录中,其他的文件不需要。然后访问

password 加密

0x03 js加密代码还原

抓取密码关键字password进行搜索,然后在可疑的函数前面打断点

单步执行到加密函数后

将代码复制到调试工具中如下,成功还原加密算法

结果一样

jsEncrypter使用

下载zip文件:https://github.com/c0ny1/jsEncrypter/releases

将jar文件加载进burp

1、在jsEncrypter.0.3.2目录中新建一个js文件如md5.js,将调试工具中的代码复制到进去

2、下载phantomjs.exe

jsEncrypter依赖phantomjs,启动前端加密函数对数据进行加密,phantomjs会返回加密结果传给burp,因此此插件需要启动phantomjs开启服务,burp去读取结果。

下载地址:Download PhantomJS

下载后放到jsEncrypter.0.3.2目录中,总共五个文件


3、phantomjs_server.js引入加密函数并调用

打开phantomjs_server.js,这里需要做两步,第一步引入js加密文件即md5.js,然后调用文件中的主函数


4、启动phantomjs_server.js

phantomjs.exe phantomjs_server.js

如下,则成功启动

接着在插件中测试payload能否正常加密,点击connect,再点击Test, 成功调用加密函数实现加密

5、开启爆破

加入字典后,在intruder模块中加载该插件

攻击后,会显示测试过程

爆破成功后,复制密文,我们可以在日志文件搜索该密文对应的明文

返回网站登录成功

上一篇:Go 进阶:Go + gin 极速搭建 EcommerceSys 电商系统


下一篇:PingCastle:一款针对活动目录AD的安全强化工具