JS逆向实战1——入门难度 某省在线审批网站params 随机生成
声明
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
网站
aHR0cDovL3R6eG0uanh6d2Z3dy5nb3YuY24vaWNpdHkvaXByby9vcGVuL3B1YmxpY2l0eQ==
参数分析
我们首先通过抓包
发现这个就是我们所需要的数据
然后我们通过fidder 发起请求
结果:
通过我们反复测试 发现这个params的参数是每次请求中都会变化的
断点查找
我们通过 这个t参数 可以看到 和时间戳有些相近,我们可以投机取巧一下
直接搜索
Date.parse(new date())
二次分析
通过几次分析可知
上述代码就是我们所需参数
然后我们魔改一下
js代码如下:
function get_t() {
var chars = "0123456789abcdef";
var curTime = parseInt(Math.random() * (9999 - 1000 + 1) + 1000) + "" + Date.parse(new Date());
var sig = chars.charAt(parseInt(Math.random() * (15 - 15 + 1) + 10)) + chars.charAt(curTime.length) + "" + curTime;
var key = "";
var keyIndex = -1;
for (var i = 0; i < 6; i++) {
var c = sig.charAt(keyIndex + 1);
key += c;
keyIndex = chars.indexOf(c);
if (keyIndex < 0 || keyIndex >= sig.length) {
keyIndex = i;
}
}
var timestamp = parseInt(Math.random() * (9999 - 1000 + 1) + 1000) + "_" + key + "_" + Date.parse(new Date());
var tkey = "";
var tkeyIndex = -1;
for (var i = 0; i < 6; i++) {
var c = timestamp.charAt(tkeyIndex + 1);
tkey += c;
tkeyIndex = chars.indexOf(c);
if (tkeyIndex < 0 || tkeyIndex >= timestamp.length) {
tkeyIndex = i;
}
}
return {sig, timestamp, tkey}
}
python代码很简单 这里就不展示了。