欢迎光临
我们一直在努力

【JS逆向学习实践】某翼云盘登录从头分析(一)

又找来一个练手站点,地址就不放了,有兴趣的可以自己去找,首先抓包分析

【JS逆向学习实践】某翼云盘登录从头分析(一)

可以看到出现图片验证码,请求中有一项needCapture的请求,这是判断是否需要验证码其返回值为1则为需要,为0则不需要,看下请求数据

【JS逆向学习实践】某翼云盘登录从头分析(一)

一共三项数据,只有userName是动态变化的,明显看到是经过加密的,先解密吧,从入口跟进去

【JS逆向学习实践】某翼云盘登录从头分析(一)

跟进去之后可以看到,请求地址一样,将userName进行了RSA加密

【JS逆向学习实践】某翼云盘登录从头分析(一)

Rsa可以抠代码也可以套用现成的库,我这里抠加密代码,下断点

【JS逆向学习实践】某翼云盘登录从头分析(一)

跟进去看到实际上调用了encrypt的encrypt的方法进行加密,看下encrypt是JSEncrypt,将他抠出来

【JS逆向学习实践】某翼云盘登录从头分析(一)

是一个导出函数,跟进去将他们全部抠出来就行了

【JS逆向学习实践】某翼云盘登录从头分析(一)

将全部代码复制出来,折叠方便看,可以看到下面有一个var JSEncrypt = JSEncryptExports.JSEncrypt,这个JSEncrypt就是上面的那个对象了,再看一下加密函数

【JS逆向学习实践】某翼云盘登录从头分析(一)

它是由RSA_Pwd这个对象调用的,看下这个对象,里面有一个setPublicKey

【JS逆向学习实践】某翼云盘登录从头分析(一)

分析可以看到,这个Key是动态请求的,我们为了方便测试直接写固定的,下面是调用代码

function getRsa(val){
    // key动态获取
    key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZLyV4gHNDUGJMZoOcYauxmNEsKrc0TlLeBEVVIIQNzG4WqjimceOj5R9ETwDeeSN3yejAKLGHgx83lyy2wBjvnbfm/nLObyWwQD/09CmpZdxoFYCH6rdDjRpwZOZ2nXSZpgkZXoOBkfNXNxnN74aXtho2dqBynTw3NFTWyQl8BQIDAQAB"
    var jSEncrypt = new JSEncrypt
    jSEncrypt.setPublicKey(key)
    var rsaStr = "{NRP}" + jSEncrypt.encrypt(val);
    console.log(rsaStr)

}

这样就得出加密后的userName了

赞(0) 打赏
未经允许不得转载:哈哈网 » 【JS逆向学习实践】某翼云盘登录从头分析(一)

相关推荐

  • 暂无文章

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏