推荐
关注
TOP
Message

某音补环境a_bogus分析

前言

废话不多说了。也不走流程了。直接开搞。如今校验ab的接口好像很少了。所以对着得看看强校验的接口。

目标网站

aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQXVBZDl3VkpNRng0d1NVUlRRWmwzYzJhSUJSZ3ZOVUVVTGxydTA2MVRKdFk/ZnJvbV90YWJfbmFtZT1tYWlu

流程分析

192位

断点

栈的断点 跟一下 最终打在这

网上追两个栈 继续断

这里挨个追。

后面发现在这个export的地方 可以看到这里没有拼接。应该是还有个params

可以看到 确实没有a_bogus

所以我们重点看看这一块。

可以看到 这一块到最后都没有生成最终参数 主要是生成个XHR对象。然后请求参数

这里看下最后send的地方,传值传了bdms。熟悉抖音的朋友应该都知道bdms这个含义。

OK 看到这。其实有一个具体的思路可以实现实现。

这里先卖个关子,这里我们先假装自己不是补环境的。

直接找到下图的位置,在打断点。直到他第一次生成a_bogus。

这里往上追一下栈。如下文 打上日志断点。

这里 重新走一下整体流程。

这里最后地方 发现 打印出来了 a_bogus

但这里有个疑问 为什么a_bogus 这么长啊。

这里我们把所有断点都删除。只留一个日志断点。然后鼠标随便划拉两下。可以发现会打印出来一堆东西。

那我们盲猜。这里ab之所以这么长 可能是收集了部分的鼠标轨迹吧。

这里先保留吧。我们既然能找到地方。

然后把公共变量 替换在这个地方。再加上一点判断

补环境

这里修改和判断的东西我就忽略了 直接开始说补的过程

这里我们使用VM2补环境

这里发现 校验了 span 和all

补完之后还报了个 atob未定义

手动实现并且补完之后 。还有最后一个报错 XMLHttpRequest。 这里我们使用xhr2 或者JSDOM

一切都补完之后发现框架还是出不来值。

然后发现记录中有大量的toStringTag 虽然我们已经补全了。但是还要记住。

这里可能框架部分通用的地方补错了。或者是哪里缺东西了。但是不影响。我们已经知道了大体的检测点了。

这里我们可以直接手补

这里我直接使用JSDOM

正常补到188位已经成功百分之90了。

后续看看缺什么补什么。把stroage的原型方法补一下 到192位就成了。

当然 本人测试下来。偶尔会出现SSL的报错。但是把一些方法的StringTag 和 tostring保护都加上就没了。不知道是BUG还是我电脑原因。

成功

然后测试下来。还是能成功的

感兴趣的同学还可以加我好友 Vicnilas 拉你进群

posted @ 2025-05-09 14:01  始識  阅读(1178)  评论(2)    收藏  举报