JS逆向实战28——补环境过RS6

前言

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!此外出于某种原因。本章大部分调试会省略,仅简单说个大概。
之前写了补环境瑞数4的流程。小伙伴有空可以翻一下历史记录。回顾一下。
今天我们来学习一下瑞数6的补环境流程。

网站

aHR0cHM6Ly93d3cubm1wYS5nb3YuY24vZGF0YXNlYXJjaC9ob21lLWluZGV4Lmh0bWw=

瑞数简述

如何分辨瑞数6?
第一点: 首次请求网页状态码返回202或者412。基本可以确定这个网站是瑞数反爬。
第二点:瑞数的cookie 主要分成两个

  1. 直接请求网页服务器抛给你的。
  2. 是通过js 自执行函数以及content生成的。

我们可以通过第一个(也就是服务器返回给你)cookie的value的第一个数字 来区分这是第几代版本。

这里可以去搜搜B站上视频里面有教你怎么分辨。
我这里只说个大概了。

分析

首先打开网站 > F12
1

熟悉的debugger; 这个网站不太一样。加了环境判断。不然内存直接爆炸。让你电脑卡死
再console中添加如下代码

location = {
    'href': /*脱敏数据*/,
};
top = {'location': location};

然后我们打开控制台。可以看到。412请求。并且cookie中还返回了一个cookie 60e... 代表这个是六代的一个cookie。
2

然后我们基本就分析完了。
对没错 就是这么简单。
我们需要的内容只有两部分

  1. 412 页面返回给我们的内容。
  2. 412 页面中外联给我们的JS。

这个时候 有人可能要问。那自生成的VM的虚拟代码呢?
答: 不用管。因为我们环境补好了 他会自己生成的。

我们刚刚分析完了。那接下来。
让我们整理一下刚刚分析的结果。
我们要生成cookie需要哪几部分?
直接看网站412页面。

这个页面和四代五代都不要用。没有冗长的自执行函数了。
但是大体也可以分为一下几个步骤。
3

图中 我标了四部分。

  1. content部分 (这也是老朋友了 不过老朋友变小了)
  2. window.$_ts (老朋友了。不过换了个装)
  3. 外链的JS(这里其实也是老朋友了,自执行函数。不过现在不在一个页面了)
  4. 执行的函数(这个就是执行已经生成好的JS的一个函数。不用管)

所以我们只需要把content,window.$_ts, 外链的JS
放到一个里面 就能生成cookie
看 还是和四代五代一样。换汤不换药。

浏览器调试

上文已经分析完了。生成JS所需要的代码。
我们先不要着急去补,先放到浏览器中运行看看。
看看到底能否生成cookie,要是生成不了,
那上面说了一大堆 不是白扯。
浏览器中都运行不起来 更别说再node中了。
在这里插入图片描述

ok 完美生成。那我们就可以着手去补环境了。

node调试

既然我们都已经知道大概流程。就全丢进node里执行。然后一步一步补就行了。
这里推荐用代理框架一个一个慢慢对照着补。
这里我就不具体写了。
公众号里写了一部分 有兴趣的可以看看。

再来说一下有哪些监测点吧。
首先以下的某些地方一定要注意!!

  1. 检测到你的目录和你的文件地址。
  2. location中hostname参数比较重要。这个是影响cookie长度的重要参数。
  3. document.getElementsByTagName 和 getElementById
  4. addEventListener函数 还有一些触发器函数。

全部补完 然后请求就行了 补环境真的很简单 不用研究什么数组 算法。
算是快速通关的一种方式吧。

结果

然后请求出来是这样的。
为了保证每次JS以及代码的灵活性,我把没有把单链的JS写死

结语

可能文章写的不咋地。希望大家谅解。
看看有没有人需要rs5。
下一篇准备更新rs5 或者rs6的后缀。

有问题的同学记得私信。平台上回复有可能不及时。最好加一下公众号。
最近和小伙伴新建了个微信公众号和星球。有兴趣的小伙伴可以加一下。

公众号链接
星球链接

### 如何触发6的相关功能或机制 #### 背景介绍 信息(River Security)是一家专注于动态安全防护技术的企业,其核心产品——WAF(Web应用防火墙),通过动态防御技术和多维度的安全策略来抵御自动化攻击。要理解如何触发6的功能或机制,需从其工作原理和技术特点入手。 --- #### 动态防御的核心机制 6采用的是基于动态防御的技术框架,主要包括以下几个方面: 1. **动态感知与识别** 6能够实时监控并分析访问流量的行为特征,通过对请求头、Cookie、User-Agent等参的解析,判断是否存在异常行为[^1]。如果检测到不符合正常用户操作习惯的请求,则会触发相应的保护措施。 2. **动态混淆与变换** 为了防止恶意爬虫或其他工具模拟合法用户的请求,6会对页面资源进行动态加密处理。例如,JavaScript代码会被随机化生成,使得每次加载的内容都不同。这种变化增加了攻击者逆向工程的成本和难度[^3]。 3. **动态挑战响应** 当系统怀疑某个客户端可能具有潜在威胁时,它会发起一系列验证动作,比如验证码校验或者强制浏览器执行特定脚本任务。只有成功完成这些测试才能继续访问受保护的服务端接口[^4]。 4. **自适应调整规则集** 基于开闭原则的设计理念,在面对新型威胁形式不断涌现的情况下,可以通过扩展新的过滤条件而无需修改现有架构下的基础组件实现灵活应对各种复杂场景需求[^2]。 --- #### 实际应用场景中的触发方式 以下是几种常见情况下可能会引起6启动额外审查流程的情形: - 频繁提交相同表单据; - 使用非标准HTTP方法发送请求; - 尝试批量下载大量静态文件; - 绕过前端限制直接调用后台API接口; - 修改隐藏域值试图篡改交易金额等敏感信息; 一旦上述任何一种情况被监测到,就有可能激活更深层次的安全扫描程序进一步确认风险等级,并采取适当行动予以处置。 --- ```python import requests def test_renium_protection(url, headers=None): try: response = requests.get(url, headers=headers) if 'G5tA5iQ4' not in response.text: print("Dynamic protection may have been triggered.") else: print("No obvious signs of dynamic defense detected.") except Exception as e: print(f"An error occurred during the request: {e}") if __name__ == "__main__": target_url = "http://example.com" custom_headers = {"User-Agent": "Automated Tool"} test_renium_protection(target_url, headers=custom_headers) ``` 此段Python代码片段展示了如何简单探测目标站点是否启用了类似于那样的高级别防护层。需要注意的是实际环境中应当遵循法律法规以及道德准则合理开展此类活动。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值