首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何利用大佬的神器去破解前端加密

0x01 背景

撸站难免会遇到需要爆破账号密码的时候,而这时遇到提交账号密码不是明文提交的就略显尴尬了。很多时候我都放弃了,因为一般爆破什么的也不会有好结果。但今天看到一个大佬写的神器,感觉如果是前端进行加密的话,还是可以抗争一下的。

下面就分享一下自己用这个神器的一些心得,来帮助同样基础比较弱的头一次使用的其他小白。

0x02 所需材料

首先是项目的地址

正如描述所说这是一个burp插件,所以将打包好后的插件在burp中安装即可使用:

image.png

解压后

image.png

可看到一个简易的phantomjs的server,此时你需要下载phantomjs,http://phantomjs.org/ 找到自己需要的版本

image.png

解压即可使用,这里为了方便后期修改,把server和要破解的js放到了同一目录

image.png

概括来说就是需要:

burp及打包好的jar插件,并安装

phantomjs

项目中提供的phantomjs_server.js

0x03 使用

流程很简单,即:

使用phantomjs启动phantomjs_server.js

phantomjs.exe .\phantomjs_server.js

(当然这里的phantomjs_server.js需要根据实际破解的东西进行定制化改写)

burp里使用插件连接phantom_server.js,默认是本地1664端口,连接成功会显示true

image.png

2.点击test,server可以收到相关数据,表明测试成功

image.png

intruter里配置相关的插件就可以转换相关的payload

0x04 定制化改写

大致的使用流程了解后,就可以进行简单的尝试,这里的项目中附带了常用的几种加密方法,但是经常实际的需求并不能简单满足于此几种加密算法,所以我们还需对其进行定制化的改写

image.png

那么如何改写,这里先拿base64做一个参照,

原始phantomjs_server.js文件:

image.png

发现很明显是用定制过的server.js去调用了加密算法的js实现了破解

原始phantomjs_server.js文件

定制后的jsEncrypter_base64.js

定制后的jsEncrypter_base64.js

base64.js:

base64.js

所以这里主要是对这块进行修改即可:

// 处理函数function js_encrypt(payload){ var newpayload; /**********在这里编写调用加密函数进行加密的代码************/ /**********************************************************/ return newpayload;}

举个实战中的例子:

这里在获取短信验证码时会使用smsCheckPwd()方法:

image.png

对这个方法在source里进行搜索,可发现出现在login.js中:

image.png

点击该方法后可发现是由ajaxDirect()完成的发送动作:

image.png

对其进行搜索:

image.png

跟进ajaxDirect:function(params)方法,发现参数是由desParam进行的加密,继续跟进

image.png

最终我们可以锁定是使用的des.js中的strEnc()进行的加密操作:

image.png

下载下来des.js之后,我们可从上文看出三个加密的密钥值,

image.png

对其进行简单分析,即可对phantom_server.js进行定制化的改写,从而达到0x03节中的效果 ;

image.png

+++ 感觉不错的话也欢迎大家多支持!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180705B19XZT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券