瑞数6补环境的总结

瑞数6补环境的总结

大家好呀,我是你们的好兄弟【星云牛马】,今天给大家带来的是瑞数6的补环境的总结,补环境肯定是需要一些基础补环境知识的,所以建议没有基础的小伙伴可以加入学习群进行学习,有基础的伙伴加入交流起来。

QQ群:714283180


1.过debugger

要知道,debugger的形式还是很多的,不能一味照抄代码,要随机应变,

1.1通过hook Function.prototype.constructor判断是否有debugger字样返回空方法即可

let origin = Function.prototype.constructor
Function.prototype.constructor = function(p){
    if (p.indexOf('debugger')!==-1){
        return function(){}
    }else{
        return orgin.apply(this,arguments)
    }
}

1.2通过hook ``eval也是一样,判断是否有debugger字样返回""`即可,具体要仔细分析,谨慎处理,防止误伤有用代码。

let oreval = eval
eval = function(code){
    if (code.indexOf('debugger')!==-1){
        return ""
    }
    return oreval.apply(this,arguments)
}

2.补环境

对于新手而言,网上补环境的源码还是很多的,白嫖一份基础的补环境的源码来,在基础上自己进行加工创造,总比从0开始的好呀。

其实补环境总结起来就是树状补充,我们用常见的domcreateElement函数来说:

    createElement:function(arg){
        console.log('createElement 函数被调用了,参数列表:',arguments)
        if(arg === "a"){
        	let my_a = {}
			return my_Proxy(my_a,"my_a")
        }
        if(arg === 'div'){
            return my_Proxy({},"my_a")
        }
        if(arg === "form"){
            return {}
        }
    },

你得实现链式的代理,补充上去的对象都是有可能继续进行更深层级的属性的检测的,比如上面的补充了元素的创建,那么创建后返回的my_a对象有可能继续被检测,所以需要给my_a也挂上代理看看是否有进一步的检测。

通过这种策略是吧,不断不断的补充,只要你不嫌麻烦,每一个都挂上代理,你就会发现,你补充的环境比谁都多,但有可能还不一定好用,哈哈,真实的例子,因为你补充的很多,层级很深,执行到的检测的代码更多,需要保证都有正确性,不然就会发现补得多但不一定有效。

瑞数这边的补环境总结我建议看这位跃迁前辈的文章: https://blog.cthousand.cn/2023/09/17/%E5%8D%8A%E8%87%AA%E5%8A%A8%E8%A1%A5%E7%91%9E%E6%95%B04%E7%8E%AF%E5%A2%83%E5%85%A8%E6%B5%81%E7%A8%8B/

他的总结很到位了,基本上你都补了的话,是属于相对比较全的能过瑞数的环境了。

2.1瑞数后缀问题
后缀的话上面这篇文章已经说了,就是检测下a标签的创建后hrefhostnameprotocol的吸附性,建议研究上面的文章。

另外就是直接不传或者使用明文,有的get请求是没有参数的所以效果上和直接不传后缀一样。

.结果测试

ems:

image-20240817125149423

专利检索:

image-20240817125027970

太平洋:

image-20240817125230204

更多资讯加入我们的交流群:

QQ群:714283180

posted @ 2024-08-17 13:03  星云牛马  阅读(1605)  评论(0)    收藏  举报