建筑市场监管平台解密
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
目标地址:aHR0cDovL2p6c2MubW9odXJkLmdvdi5jbi9kYXRhL2NvbXBhbnk=
直接抓包,所有返回结果都是加密的
这种怎么定位到解密位置
- 搜关键字,例如decrypt之类
- 找到ajax回调函数,一步步调试到解析数据、更新DOM
这里直接尝试搜encrypt,很好,只有一个结果
很明白了,AES加密,这个d.a看样子应该就是CryptoJS对象了,把代码扣出来拿到node里跑一下,连错都不报一个,没意思。
const CryptoJS = require("crypto-js")
const f = CryptoJS.enc.Utf8.parse("jo8j9wGw%6HbxfFn");
const m = CryptoJS.enc.Utf8.parse("0123456789ABCDEF");
function decrypt(t) {
var e = CryptoJS.enc.Hex.parse(t)
, n = CryptoJS.enc.Base64.stringify(e)
, a = CryptoJS.AES.decrypt(n, f, {
iv: m,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
, r = a.toString(CryptoJS.enc.Utf8);
return r.toString()
}
// console.log(JSON.parse(decrypt(s)).data.list)
module.exports = decrypt
另外index接口对应的数据就是各地区的行政区划代码等信息,拿到这个就可以愉快地查询我们想要的了。