JS逆向实战1——某省阳光采购服务平台

文章介绍了如何通过抓包发现并分析动态请求参数,特别是params的变化,以及如何利用JavaScript生成类似于时间戳的t参数。作者强调了内容仅用于学习交流,禁止非法使用,并提供了JS代码示例来创建类似参数。同时,提到了Python实现虽未展示,但相对简单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

参数分析

我们首先通过抓包

发现这个就是我们所需要的数据
然后我们通过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代码很简单 这里就不展示了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值