瑞数6代, 补环境过某监局

声明:

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

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

前言

这次会简单的讲解r6的流程(补环境),如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,结尾附有联系方式,有需要可联系我.

一·瑞数流程

如何找到ts文件和外链文件

首先清除cookie 打开控制台,勾选脚本,然后刷新网页

找到ts文件和外链文件后,新建一个js文件,将ts文件和外链文件复制放到建好的js文件中,

注意:不要格式化代码,瑞数6代会有检测

二 环境框架

之前网上白嫖的,给大家开源一下

// 代理器封装
function getEnv(proxy_array) {
    for(var i=0; i<proxy_array.length; i++){
        handler = `{\n
            get: function(target, property, receiver) {\n
                   console.log('方法:get','    对象:${proxy_array[i]}','    属性:',property,'    属性类型:',typeof property,'    属性值类型:',typeof target[property]);
                   return target[property];
            },
            set: function(target, property, value, receiver){\n
                    console.log('方法:set','    对象:${proxy_array[i]}','    属性:',property,'    属性类型:',typeof property,'    属性值类型:',typeof target[property]);
                    return Reflect.set(...arguments);
            }
        }`;
        eval(`
            try{\n
                ${proxy_array[i]};\n
                ${proxy_array[i]} = new Proxy(${proxy_array[i]},${handler});
            }catch(e){\n
                ${proxy_array[i]}={};\n
                ${proxy_array[i]} = new Proxy(${proxy_array[i]},${handler});
            }   
        `)
    }
}

// proxy_array = ['window', 'document', 'location', 'navigator', 'history','screen','target' ]
// getEnv(proxy_array)

module.exports = getEnv

三 补环境篇

报这个错window没有被定义,我们只需补上即可

然后报函数没有被定义,我们只需在浏览器上找到这个函数下断点输出,补上即可

div = {
    getElementsByTagName : function (res){
        if(res =='i'){
            return {length:0}
        }
    }
}
document = {
    createElement : function (res){
        console.log('当前执行document中的createElement的值是',res)
        if (res =='div'){
            return div
        }
   }
}

报这个缺少的是document中的getElementsByTagName方法,同上,找到这个函数打断点调试输出,补上即可,补的方法同上

document = {
    createElement: function (res) {
        console.log('当前执行document中的createElement的值是', res)
        if (res == 'div') {
            return div
        }
    },
    getElementsByTagName: function (res) {
        console.log('当前执行document中的getElementsByTagName的值是', res)
        if (res == 'script') {
            return script
        }
        if (res == 'meta') {
            return meta
        }
    }
}

重要的是检测meta中的content,content会变,需要动态传入

下面实在太多了,相信大家用我的方法也可以完美解决

结果图

然后利用框架进行补环境,报什么错然后补什么,缺啥补啥

四、总结

出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来.

2本人写作水平有限,如有讲解不到位或者讲解错误的地方,还请各位大佬在评论区多多指教,共同进步.技术探讨+V  zhou0910112(本人)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值