gpt4 book ai didi

java - 对所有用户输入进行编码以防止 rXSS

转载 作者:行者123 更新时间:2023-11-30 06:45:25 31 4
gpt4 key购买 nike

我正在尝试解决一个安全漏洞以防止 xss。

我应该在存储到数据库之前对所有用户输入(例如 <> 标签)进行编码,还是应该将原始输入存储到数据库中,并仅在从数据库检索数据并在 HTML 上显示数据时对 HTML 进行编码?

最佳答案

反射式XSS是指在不存储脚本的情况下进行的攻击,它向客户端显示相同的输入。例如,在搜索中输入姓名,系统的答案是“未找到姓名”。在这种情况下,您可以放置​​脚本而不是名称。

如果您想存储输入以便稍后读取。它被称为存储型 XSS。如何预防?这是一个困难的部分。您可以使用白名单验证。如果您的输入是 HTML,您可以使用 OWASP_Java_HTML_Sanitizer_Project https://www.owasp.org/index.php/OWASP_Java_HTML_Sanitizer_Project

什么时候需要使用enconding?您需要根据使用数据的上下文对数据进行编码。例如,如果您需要在 HTML 页面上呈现数据,则需要在显示数据之前对 HTML 进行编码。但如果你需要在 JS 脚本上使用它,你需要使用 URL enconde。 enconde 取决于您使用数据的上下文。

关于java - 对所有用户输入进行编码以防止 rXSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43765171/

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