JS逆向

场景:登录时账号或密码被加密而无法爆破或Fuzz的情况,如果是前端加密可以尝试js逆向,搭配phantomjs(JavaScript API)和bp插件JSEncryptr进行爆破

一、https://my.sto.cn/

1.点击登录,可见发送了一个数据包LoginResult,地址是/Vip/LoginResult

image
image

image

2.ctrl+shift+f全局查找/Vip/LoginResult进行定位

image

image

3.在控制台测试一下,这里123就通过加密方式输出了加密后的内容
image

断点调试法

1.登录找到请求

image

2.下断点重新请求,即可看见请求明文以及加密后的结果

image

3.查看加密算法来源JS文件

image

XHR分析法

1.请求地址类型为XHR

image

2.获取请求路径

image

3.XHR提取,点击登录后分析,它会在遇到这个路径的时候停止

image

JS逆向结合burp插件进行爆破

场景:https://account.hpc.sjtu.edu.cn/#/login

准备:
1. 下载phantomjs并设置环境变量	是一个javascript api,可以模拟用户发送请求
https://phantomjs.org/download.html
2. 下载burp插件—jsEncrypter	前端加密Fuzz插件
https://github.com/c0ny1/jsEncrypter

image
image

3.找到发送地址

image

4.通过XHR搜索地址,点击提交跳转至请求加密方式中
(ctrl+shift+f、启动器找不到可以尝试xhr进行捕获)

image

5.代码分析下载负责加密的js文件

image

6.将下载好的加密js文件存放至jsEncrypter同级目录,修改phantomjs_server.js中的引用脚本名以及解密代码

image

7.运行修改好的js文件
phantomjs phantomjs_server.js

image

8.抓包爆破,list需要与插件一致,然后设置processing调用burp插件jsEncrypter即可

image
image

可以看到对每个payload加密后爆破

image

posted @ 2023-09-21 19:00  h1ck  阅读(188)  评论(0)    收藏  举报