Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用JavaScript解决代码注入_Javascript_Code Injection - Fatal编程技术网

用JavaScript解决代码注入

用JavaScript解决代码注入,javascript,code-injection,Javascript,Code Injection,我被赋予了处理安全漏洞的任务。我使用DefenseCode ThunderScan对项目中的所有自定义JavaScript文件进行了测试,发现了几个高威胁漏洞,所有这些漏洞都与“代码注入”相关。发现漏洞的代码示例: setTimeout(function () { window.location.href = Urls.getHuhnScaleIndexDataUrl.replace('ResidentId', model.residentId()).replace('Ses

我被赋予了处理安全漏洞的任务。我使用DefenseCode ThunderScan对项目中的所有自定义JavaScript文件进行了测试,发现了几个高威胁漏洞,所有这些漏洞都与“代码注入”相关。发现漏洞的代码示例:

setTimeout(function () {
     window.location.href = Urls.getHuhnScaleIndexDataUrl.replace('ResidentId',
     model.residentId()).replace('SessionVal', true); 
}, 2000);

window.open(urlReport, '_blank');

在这些代码示例中,到底是什么造成了漏洞

使用
windows.open
被认为是不好的做法,因为新窗口保留了对父窗口的引用,然后可以尝试将/code注入其中

新窗口有一个
opener
字段,该字段指向具有无限制访问权限的前一个窗口,这意味着您可以删除父窗口的主体或窃取嵌入表单中的令牌


参考资料:

谢谢,您的参考资料完美地解释了安全漏洞!