我已经获得了处理安全漏洞的任务。我使用DefenceCode ThunderScan对项目中的所有自定义JavaScript文件进行了测试,发现了几个高威胁漏洞,所有这些漏洞均与“代码注入”相关。发现漏洞的代码示例:
setTimeout(function () {
window.location.href = Urls.getHuhnScaleIndexDataUrl.replace('ResidentId',
model.residentId()).replace('SessionVal', true);
}, 2000);
window.open(urlReport, '_blank');
这些代码示例中的漏洞究竟是什么?
答案 0 :(得分:1)
使用windows.open
被认为是不好的做法,因为新窗口保留了对父窗口的引用,然后可以尝试向其注入代码。
新窗口具有一个opener
字段,该字段指向具有 unrestricted 访问权限的前一个窗口,这意味着您可以删除父项的主体或窃取嵌入在表单中的令牌...
参考:https://dev.to/ben/the-targetblank-vulnerability-by-example