js逆向-软科排名header参数

声明

本文仅供学习参考,请勿用于其他途径,违者后果自负!

前言

目标网站:aHR0cHM6Ly93d3cuc2hhbmdoYWlyYW5raW5nLmNuL2luc3RpdHV0aW9uL3RzaW5naHVhLXVuaXZlcnNpdHk=
接口信息:aHR0cHM6Ly93d3cuc2hhbmdoYWlyYW5raW5nLmNuL2FwaS92MjAxMC9pbnN0L3RzaW5naHVhLXVuaXZlcnNpdHk=

目标参数:Authorization

参数分析

首先抓包。
在这里插入图片描述
数据这个地方没有什么好说的,是明文没有加密。加密点在于请求的headers参数中。
在这里插入图片描述
在这里多了一个Authorization参数,看着像base64加密。
解密一下。
在这里插入图片描述
确实能够得到结果,但是中间一段还是一段加密,目前看不出来是什么加密,还需要跟栈分析一下。

因为是headers参数加密。所以可以在这里进行hook操作。

var code = function(){
var org = window.XMLHttpRequest.prototype.setRequestHeader;
window.XMLHttpRequest.prototype.setRequestHeader = function(key,value){
    if(key=='Authorization'){
        debugger;
    }
    return org.apply(this,arguments);
}
}

注入js脚本后,发现断点没有效果。也就是说hook方法失效了,只能慢慢去分析了。
Alt

因为是xhr请求,所以在这里打下一个xhr断点。
在这里插入图片描述

刷新页面,已经断下来了。
在这里插入图片描述

一个异步的请求,看到可以的堆栈,直接点进去,下断。
在这里插入图片描述

在这里看到了interceptors。这是一个拦截器,可以在请求前后进行一系列的操作。猜测可能是在这里进行了封包,所以没有办法hook到。

思路已经明确,不断的F11,直到看到我们需要的包。

![在这里插入图片描述](https://img-blog.csdnimg.cn/74cdab0f72f4451e85f807df62542997.pn

跳进了另一个文件中,此时在这里还没有生成加密参数。继续F11步入下一个函数。

在这里插入图片描述
知道这个地方,发现了加密生成了。
在这里插入图片描述
这不就是我们想要的结果吗。打下断点,进入Ze函数。
在这里插入图片描述
参数分别是:
在这里插入图片描述然后经过一系列的操作,最后是字符串的拼接,然后Sha256的加密,最后一个base64的加密,生成了加密参数。

这个过程比较简单,缺什么拿什么就可以。主要是这里的r是什么。需要看一下。

通过调用Ze函数可以知道r=Ge,那么Ge哪里来呢。

在这里插入图片描述

Ge是一个空值,但是在console中打印,Ge是有值的。肯定在哪里做了手脚,搜寻一番发现了端倪。
在这里插入图片描述
在这里有一个三目运算。这里问好前肯定是个false,然后执行冒号后的结果,在这里将e.data赋值给Ge然后减去时间戳得到差值。
在这里插入图片描述
e.data的值也是一个时间戳,但是这个时间戳是请求了上面的url获取的。
在这里插入图片描述
所以这是一个小细节,拿到之后再去改一下还原的代码就可以得到结果了。
但是通过本地生成的参数,使用爬虫并没有得到数据,如果有知道原因的大佬可以给我留言。十分感谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值