人均瑞数系列,瑞数4代JS逆向分

北京皮肤科医院电话 http://m.39.net/baidianfeng/a_8622627.html
声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责

前言

瑞数动态安全Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类Web、HTML5提供强大的安全保护。

瑞数Botgate多用于政企、金融、运营商行业,曾一度被视为反爬天花板,随着近年来逆向大佬越来越多,相关的逆向文章也层出不穷,真正到了人均瑞数的时代了,这里也感谢诸如Nanda、懒神等逆向大佬,揭开了瑞数神秘的面纱,总结的经验让后来人少走了不少弯路。

过瑞数的方法基本上有以下几种:自动化工具(要隐藏特征值)、RPC远程调用、JS逆向(硬扣代码和补环境),本文介绍的是JS逆向硬扣代码,尽可能多的介绍各种细节。

瑞数特征以及不同版本的区别

对于绝大多数使用了瑞数的网站来说,有以下几点特征(可能有特殊版本不一样,先仅看主流的):

1、打开开发者工具(F12)会依次出现两个典型的无限debugger:

2、瑞数的JS混淆代码中,变量、方法名大多类似于_xx,有众多的if-else控制流,新版瑞数还可能会有jsvmp以及众多三目表达式的情况:

3、看请求,会有典型的三次请求,首次请求响应码是(瑞数3、4代)或者(瑞数5代),接着单独请求一个JS文件,然后再重新请求页面,后续的其他XHR请求中,都带有一个后缀,这个后缀的值是由JS生成的,每次都会变化,后缀的值第一个数字为瑞数的版本,比如MmEwMD=4xxxxx就是4代瑞数,bX3Xf9nD=5xxxxx就是5代瑞数:

4、看Cookie,瑞数3、4代有以T和S结尾的两个Cookie,其中以S开头的Cookie是第一次的那个请求返回的,以T开头的Cookie是由JS生成的,动态变化的,T和S前面一般会跟80或的数字,Cookie值第一个数字为瑞数的版本(为什么可以通过第一个数字来判断版本?难道相同版本第一个数字不会变吗?这些问题我们在分析JS的时候可以找到答案),比如:

FSSBBIl1UgzbN7N80T=37Na97B.nWX3....:数字80是


转载请注明:http://www.aierlanlan.com/rzgz/946.html

  • 上一篇文章:
  •   
  • 下一篇文章: