声明:
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
名称:财新
目标:登入参数
加密类型:AES
目标网址:https://u.caixin.com/web/login
第一步: 查看接口参数
加密值:password
第二步: 搜索参数名
直接搜索参数名password我们就可以定位到这个加密的地方,我们下个断点然后再点击登入就可以看到,断住了就说明我们下的断点是对的 this.form.password就是明文密码,我们可以来看看这一段this.encode(this.encrypt(this.form.password)) 这里应该是先经过一个加密后再经过一个编码完成password的全部加密
我先一个方法一个方法的进,我们先进this.encrypt这个方法,进来之后我们可以看到很清晰的写着AES三个字母,那简单了就是AES加密了密钥 mode 都有了那这个不就是刷刷两下子就搞定了?
我们再进入看this.encode这个方法,这不就是一个内置url编码的方法么,只要把这两个方法结合一下传一个明文值就可以得到一个加密后的值
第三步:实现加密参数
var CryptoJS = require('crypto-js')
r = {
'a':CryptoJS
}
function AES_encrypt(t){
var e = r.a.enc.Utf8.parse("G3JH98Y8MY9GWKWG")
, a = r.a.enc.Utf8.parse(t)
, n = r.a.AES.encrypt(a, e, {
mode: r.a.mode.ECB,
padding: r.a.pad.Pkcs7
});
return encodeURIComponent(n.toString())
}
console.log(AES_encrypt(123456))
结果展示:
看完点个赞吧,喜欢的可以点个关注!