登录口JS前端加密绕过-jsEncrypter工具

概述

渗透测试过程中遇到web登录的时候,现在很多场景账号密码都是经过js加密之后再请求发送(通过抓包可以看到加密信息)

burp抓到的包,request的post的登录包,password参数的值是经过前端加密之后再进行传输的,遇到这种情况,普通发包的爆破脚本就很难爆破成功。鉴于这种情况,这边分析四种方式进行绕过加密爆破

1)既然是前端s加密,代码我们都能看得到,我们搭个服务器,每次发包前,把要发送的加密参数用服务器加密一遍,我们再把加密后的参数发送过去,这样相当于本地还原了加密过程

2)利用selenium webdriver等完全模拟人工输入,字典也可以自定义,不过需要自己写脚本而已,这种方法比较万能

3)这种方法适合有js功底的同学,首先把他的js加密过程跟方法看懂,然后本地简化或者用其他语言模拟他的加密过程,再自己写脚本去跑,或者生成加密后的字典直接burp去跑即可

4)cony1老哥为了方便后辈,写了一款burp插件, https://github.com/c0ny1/jsENcrypter,名为jsEncrypter,简单来说就是把1,3点结合了一下,用插件方便地跑起来

这里主要讲一种 大佬的工具jsEncrypter

jsEncrypter工具

https://github.com/c0ny1/jsEncrypter

安装流程

  • 安装maven

具体看这里:https://www.runoob.com/maven/maven-setup.html

  • 安装好maven后,把jsEncrypter下载回来解压缩,然后在他的文件夹下,打开cmd窗口,然后运行mvn package,就可以把插件编译成型,编译好后会多出一个target文件夹

  • 然后把target文件夹里面的jar插件添加到burp里面

总共有两个

  • 安装phantomjs

https://phantomjs.org/download.html

下载需要的版本 然后 配置环境变量 这里自己百度一下 很简单

开始实践

把jsEncrypter-master\test下webapp的文件复制到phpstudy或者mamp或者其他你习惯用的简便服务器搭建起来

然后开起来 可以看到有六种加密方式

严格来说base64只能算一种编码方式

在这里插入图片描述
选择sha1来进行演示。

编写phantomJS脚本

通过查看靶机页面的js代码,我们知道实现sha1加密的是sha1.js这个文件,我们将它下载下来。

复制phantomJS模板代码jsEncrypter/js/jsEncrypter_base.js文件,改名为jsEncrypter_sha1.js。

在脚本中加载sha1.js,然后在js_encrypt函数
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值