Js注入检测函数咋办

JavaScript0109

Js注入检测函数咋办,第1张

答:首先要截获检测函数的动态代码,动态执行js代码有两种方法,一是eval,二是function。

现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行。

动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。

注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去

export  const createScript = (result,type,pos) =>{

        var positions = pos? document.getElementsByTagName('head')[0] :document.getElementsByTagName('body')[0]

        var script = document.createElement('script')

        script.type = 'text/javascript'

        if (type === 'url') {

            script.src = result

        } else {            

            script.innerHTML = result

        }

        positions.appendChild(script)

    }

let scriptCode = `

            function fns(){

                alert("原生js动态注入脚本内容")

            }

            fns()

createScript(scriptCode)          

JavaScript注入就是在浏览器地址栏中输入一段js代码,用来改变页面js变量、页面标签的内容。

使用Javascript注入,用户不需要关闭或保存网页就可以改变其内容,这是在浏览器的地址栏上完成的。命令的语法如下:

javascript:alert(#command#)