某海关总署瑞数

声明:本文章所有内容仅供学习使用,无其它任何目的,严禁用于商业用途和非法用途,否则产生一切后果均与作者无关**
非常感谢遇到瑞数加密的时候逗比(⊙o⊙)!熊西楚傲天给我提供的思路和文章

目标网站:aHR0cDovL3NlYXJjaC5jdXN0b21zLmdvdi5jbi9zZWFyY2gvcGNSZW5kZXI/cGFnZUlkPWY1MjYxNDE4ZGRjNzRmMDNiMjdlMzU5MGM1MzExMDJi
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传某海关总署瑞数_第1张图片

瑞数基本结构:
动态cookie防护,每次加密的js都是动态的,每次请求都会变化,但里面数字下标和结构是不会变化的。

​ 先对网页进行一次请求,返回412的页面和服务器返回的cookie:FSSBBIl1UgzbN7NO,得到对应的content和ts链接,然后携带者服务器返回的cookie请求ts链接得到与此次content关联的js

​ 然后根据网页的js和content和ts链接返回的js进行加密生成cookie,

​ 可以通过hook、cookie的方法跟栈找到调用cookie生成的位置

某海关总署瑞数_第2张图片

将ts赋值给其他变量并将window中的ts清空

某海关总署瑞数_第3张图片

将content整个大字符串进行拆分
某海关总署瑞数_第4张图片

补环境如何知道检测了那些环境?可以用插桩的方法或者代理的方法,这里我推荐使用proxy进行代理

Proxy代理的目标可以是任务类型的对象,包括原生数组,函数甚至另一个代理,Proxy的get和set方法对补环境很有帮助。

proxy的简单示例:

某海关总署瑞数_第5张图片

拿get获取值来说,将代理挂上后,c对象的取值操作一目了然,set属性加上后,给window挂上代理基本上所有的js赋值取值操作一目了然,再把缺失的环境如navigator,document再次挂上代理,补齐环境即可以生成加密得值

常见的监测点:

环境分为浏览器环境,第三方环境,如:nodejs、jsdom、selenium,

global里面的一堆东西都是检测点 ,轻而易举的能看出来你是不是浏览器

某海关总署瑞数_第6张图片

都是浏览器没有的东西,proxy代理能轻松获取到,补得时候以无痕浏览器下的为准。

伪造基本功:常见的检测点,如document.createElement,创建一个标签,然后取标签里面的一个属性,看没有有。或者时基于v8引擎自带方法的检测。如补document补的时候,一般都是document = {};但是v8引擎带的tostring能轻易看出不同,检测出来。一个补的方法,tostring后也能轻易发现。
某海关总署瑞数_第7张图片

一个对象,只要有——proto——就是一个实例,实例——proto——返回它的原型,原型的prototype就返回他的实例。一个对象可以是实例,也可以是原型;一个方法一定有prototype,实例一定没有protoype,如果用他的原型下的方法取值,也是取不到的。

补完后直接带着WvY7XhIMu0fGS跟WvY7XhIMu0fGT访问就可以了。如果没有再出现js就是环境伪造成功了

7XhIMu0fGS跟WvY7XhIMu0fGT访问就可以了。如果没有再出现js就是环境伪造成功了

某海关总署瑞数_第8张图片

你可能感兴趣的:(javascript,前端,开发语言)