关于前端js解密和利用的姿势

本文介绍了在JavaScript项目中遇到登录密码加密时,如何通过F12开发者工具定位加密函数,使用断点调试、jsEncrypter工具以及PhantomJS进行简化,最终通过爆破技术破解加密字符串的方法。
摘要由CSDN通过智能技术生成

前言:

        本篇主要讲的是关于js的基础逆向解密和利用的技巧,在日常做项目时,我们会遇到登录处账号或密码被加密的情况,那有没有什么短平快的办法来解决这个问题呢?

寻找加密函数

1、当登录时遇到密码被加密传输可以尝试逆推出js加密过程加以利用

2、打开f12搜索password关键字,如果运气好的话,能直接定位到,如果定位到也没关系

3、尝试搜索login,仔细翻阅后如果还是没找到,可以接着向下看

4、接着搜索路径,定位到加密函数

/SysLoginManage/Login

断点调试

打上断点后再次登录后会在断点处暂停,点击步进,进入函数

从 jsencrypt 方法上来看,首先会调用 des 方法之后将返回值给到 stringToHex 进行二次编码,之后再将值返回给

des函数

之后将返回值给到stringToHex

之后再将加密之后的值返回给 pas 变量

工具简化利用流程

jsEncrypter https://github.com/c0ny1/jsEncrypter

phantomjs https://phantomjs.org/download.html

mac直接安装

brew install phantomjs

一般情况下只需要修改两个地方

1、将加密函数文件下载下来,并导入

2、修改函数调用

修改 phantomjs_server.js 文件
1、导入js文件

2、修改函数调用

在调试阶段可以看到加密password密码用的函数为 jsencrypt这个函数

将这个函数调用复制进去再修改一下

将jsEncrypter.0.3.2.jar导入burp

启用服务

phantomjs phantomjs_server.js

建立连接,测试成功

对加密字符串进行爆破

1、将数据包发送到intruder模块中,标记完变量后选择调用burp扩展

2、之后点击start进行爆破,可以看到密码都进行了加密

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值