逆向|同花顺行情中心|cookie中的v

2025-04-14
逆向地址:aHR0cHM6Ly9xLjEwanFrYS5jb20uY24v
请求接口:aHR0cHM6Ly9xLjEwanFrYS5jb20uY24vaW5kZXgvaW5kZXgvYm9hcmQvYWxsL2ZpZWxkL3pkZi9vcmRlci9kZXNjL3BhZ2UvMy9hamF4LzEv

请求参数中没有加密,加密的数据是cookie的值

在这里插入图片描述
在这里插入图片描述
那么我们直接hook cookie
cookie_cache = document.cookie;
Object.defineProperty(document, “cookie”, {
get: function () {
console.log(cookie_cache);
// 在获取document.cookie时,执行你想要的操作
return cookie_cache; // 返回原始的cookie值
},
set: function(value) {
// 在设置document.cookie时,执行你想要的操作
if(value.includes(‘v=’)){
debugger;
}
}
});

重新刷新网页,注入hook的脚本,然后翻到下一页,这时候发现,断点断住了

在这里插入图片描述
然后我们往前面跟栈,找到cookie生成的位置.发现其实就是:
var n = rt.update();
这一行代码生成的.我们通过补环境来完成,我们进去这个函数中,将其导出在window对象上,然后调用这个方法。根据报错,将其他环境补上

自动吐环境的原理就是,利用Proxy代理来代理’window’, ‘document’, ‘location’, ‘navigator’, ‘history’,'screen’等这些对象,然后当js代码中用到其中的一些属性的时候,

这个补环境需要注意的点就是:首先我们需要将代码给跑通,这是最基本的点,
举个例子,当环境中报错:
S[R]++,
当这个地方的代码报错的时候,我们就要将浏览器和本地node都在这个地方下个端点,然后此时发现,浏览器环境中的S和本地node环境中的S不一致,那么这个时候说明了本地的S变量的值出现了问题,那么我们就去浏览器中,看S的生成,直接在文件中搜索:S =
然后重新刷新浏览器,很容易可以知道,其实S是通过
S = new qn([a, a, a, a, n, n, n, e, t, t, t, t, t, t, t, a, t, n]),
这一行代码生成的,那么这个时候,我们就要分析,为什么本地没有走这一行代码,这个时候,我们在浏览器这一行中下一个断点,然后从新刷新浏览器,当代码在这一行断住之后

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们就往前面跟栈,然后我们可以在前面的每一个栈都打下断点,并且对比我们本地运行的代码的位置,我们也打上断点,在往前跟栈的过程中,我们发现了如下的代码:
try {
c()
} catch (n) {
return n
}

在这里插入图片描述
在这里插入图片描述
那么就很有可能是因为本地缺少了环境,导致运行c函数出现了异常,然后就出错了,这个时候我们就跟到c函数当中去,一步一步跟栈,发现本地在执行完Zn.Init()代码的时候报错了,把这个异常给抛出了,那么这个时候我们就跟到这个函数当中去,发现本地在执行else if (l[at(e[66])][at(e[67], a[68])])的时候报错了,这时候我们就定位到了问题出现的地方,然后我们直接对比本地和浏览器这一行代码的执行,发现其实就是对bom对象取值,
document[“documentElement”][“addBehavior”]
那么我们直接在js中将环境补起来即可.

在这里插入图片描述
最后成功地出结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值