如何对前端加密后的数据进行解密爆破

如何对经前端加密后的数据进行爆破,这是个问题,例如数据中的账号密码被加密、测试一些payload(sql注入和xss等)。
参考文章:
https://www.freebuf.com/articles/web/184455.html?replytocom=256421 编写加密传输爆破插件jsEncrypter:
https://gv7.me/articles/2017/jsEncrypter/
1、流程 上一个流程图,给大家捋一捋插件运行的整个流程。
如何对前端加密后的数据进行解密爆破_第1张图片

2、phantomJS脚本编写
phantomJS是一个没有界面的浏览器,除了不能浏览,其他的和正常浏览器一样。使用它来执行我们编写好的脚本。
phantomJS下载地址:http://phantomjs.org/download.html
由于每个网站前端加密传输的算法一样,所以每次引入的js都不同,调用加密函数的代码也不仅相同。鉴于以上情况,为了每次不用重复写一些固定的代码,我们写一个模板代码。每次使用时,只要填写好引入js的文件名,以及实现好在js_encrypt()函数体调用加密算法对payload进行加密处理即可。
phatomJS脚本模板代码:
如何对前端加密后的数据进行解密爆破_第2张图片如何对前端加密后的数据进行解密爆破_第3张图片

3、演示
完整的代码请移步github: http://github.com/c0ny1/jsEncrypter
大家自行下载,编译好,最后加载到Burp Suite中!
如何对前端加密后的数据进行解密爆破_第4张图片

(1) 靶机搭建
项目jsEncrytper/server目录下提供一个php编写的靶机,我们用phpStudy把他运行起来。靶机目前支持的加密算法有7种:
如何对前端加密后的数据进行解密爆破_第5张图片
如何对前端加密后的数据进行解密爆破_第6张图片
(2) 编写phantomJS脚本

  1. 通过查看靶机页面的js代码,我们知道实现sha1加密的是sha1.js这个文件,我们将它下载下来。
  2. 复制phantomJS模板代码jsEncrypter/js/jsEncrypter_base.js文件,改名为 jsEncrypter_sha1.js。
  3. 在脚本中加载sha1.js ,然后在js_encrypt函数中实现调用加密函数对传入的payload进行加密处理,即可。
    关键代码如图所示:
    如何对前端加密后的数据进行解密爆破_第7张图片

(3) 运行phantomJS脚本
在这里插入图片描述

(4) 测试是否成功加密
如何对前端加密后的数据进行解密爆破_第8张图片

(5) 抓包爆破
如何对前端加密后的数据进行解密爆破_第9张图片

成功解密
如何对前端加密后的数据进行解密爆破_第10张图片

你可能感兴趣的:(js,前端,加密解密,网络安全)