gpt4 book ai didi

Javascript:网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS)

转载 作者:行者123 更新时间:2023-12-03 18:27:20 24 4
gpt4 key购买 nike

我正在花时间尝试修复 Veracode 扫描缺陷 CWE-80 网页中与脚本相关的 HTML 标记的不当中和(基本 XSS)。

我所做的是对我的后端进行 HTTP 调用,以便打开带有下载文件的 blob。

    const xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onreadystatechange = () => {
if (xhr.readyState === 4 && xhr.status === 200) {
var windowUrl = window.URL || window.webkitURL;
var blobUrl = windowUrl.createObjectURL(new Blob([xhr.response]));
const doc = document.createElement('a');
document.body.appendChild(doc);
doc.href = blobUrl;
if (filename) {
doc.download = filename;
}
doc.click();
windowUrl.revokeObjectURL(url);
}
}
xhr.send();

veracode 提示这条线
document.body.appendChild(doc);

此对 Node.appendChild() 的调用包含跨站点脚本 (XSS) 缺陷。该应用程序使用不受信任的输入填充 HTTP 响应,从而允许攻击者嵌入恶意内容,例如 Javascript 代码,这些内容将在受害者浏览器的上下文中执行。 XSS 漏洞通常被用来窃取或操纵 cookie、修改内容的呈现方式以及泄露 secret 信息,并且会定期发现新的攻击向量。

不确定我需要申请什么样的验证。

最佳答案

这是一个相当复杂的话题,第一道防线应该是在使用这样的工具将 HTML 添加到页面之前对其进行清理。

https://github.com/jitbit/HtmlSanitizer

维基百科对不同的预防技术有很好的总结。

https://en.wikipedia.org/wiki/Cross-site_scripting#Preventive_measures

他们也是 XSS 预防的伟大备忘单

https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html

关于Javascript:网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59094988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com