JS逆向获取算法 && 使用算法逻辑进行爆破

JS逆向获取算法并进行爆破

前言

爆破的逻辑 : 最简单的就是登录框  不断的试账号密码   这个是无前端加密的情况下

假如我们猜中了  账号密码  admin 123 

但是这个时候前端是有加密的           服务器不会识别 admin 123  只会识别他的 算法之后的值 

固定的算法如base64等  解决这个和喝水一样但是如果是自己写的算法呢  现在的算法潮流是 SHA-256 是MD5的延伸但是这章我们不学习这个

使用算法逻辑进行爆破

使用算法之前我们需要进行寻找算法所在的js文件然后调试  看看能否运行

获取:交我算平台

(上个文章有获取的方法)

发现点直接断点不多 bb 

捕捉到了信息

但是我们真正需要的是加密的文件 .js  就是  他上面  new的这个库

点击 右键  下载到桌面  

使用 VS打开的同时我们把  这个网站的算法调用 复制一下

把 o替换为实际的私钥   r.set是创建公钥

替换一下加密的逻辑

var r = new JSEncrypt, o ='305c300d06092a864886f70d0101010500034b003048024100959684a0076fd2a8fc1589469cf8c95f16ef67490c519f4d274373f29cee64cf6a0db8ad8953122c5b3664e4a48acd34d9b95c0ae62a31be612632e1c49154db0203010001';
r.setPublicKey(o);
var s = r.encrypt('xiaodi');
console.log(s);

这个是代码文件   

最后是可以直接运行成功的  那就说明我们拿到了这个算法的文件

接下来就是进行爆破

前提条件:

先配置环境变量

根据在环境变量系统的Path进行配置

cmd中输入   phantomjs   会出现一个尖括号

然后打开burp  导入

这个模块

之后我们就可以进行测试了

先将加密文件.js放到bur插件路径下和那个程序同一个目录   那可能会说了  加环境变量的那个工具有鸡毛用?他是用来生成加密逻辑下的加密数据   然后出现在本地的一个网站端口上 让插件进行测试

进入第三个文件


// 加载实现加密算法的js脚本
var wasSuccessful = phantom.injectJs('JSEncrypt.js'); /*引入实现加密的js文件*/

// 处理函数
function js_encrypt(payload) {
    // var newpayload;
    /**********在这里编写调用加密函数进行加密的代码************/
    var r = new JSEncrypt,
        o = '305c300d06092a864886f70d0101010500034b003048024100959684a0076fd2a8fc1589469cf8c95f16ef67490c519f4d274373f29cee64cf6a0db8ad8953122c5b3664e4a48acd34d9b95c0ae62a31be612632e1c49154db0203010001';
    r.setPublicKey(o);
    var newpayload = r.encrypt(payload);

    /**********************************************************/
    return newpayload;
}

复制上这个测试的url

然后我们去抓个包

进行爆破

还有命令行  别忘了 进行清空一下   开始攻击  :

只有这个样子对方的服务器才能正确的解析  这样才能表示我们的爆破不是无用功  这里是不能爆破成功的  一般这个弱口令在一些刚起步的企业是比较常见的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值