gpt4 book ai didi

java - Struts XSS 预防 - 预防 GET XSS

转载 作者:行者123 更新时间:2023-12-01 14:17:37 27 4
gpt4 key购买 nike

我已经能够通过 bean:write 消息中的 filter="true"组合以及我正在使用的标签库中使用 StringEscapeUtils.escapeHtml4(string) 来防止 struts 1.2 中的 XSS 攻击。不过,我可以通过以下形式的 URL 中的攻击来攻击我的网站...

www.mysite.com/App/Start.do?logo=mylogo'><script>alert("ATTACK")</script>

关于防止这种情况的最佳方法的任何建议。我尝试使用 servlet 过滤器,但我不想将所有请求输入转换为特殊字符。

最佳答案

我发现阻止 XSS 的最简单方法是替换所有 > , <"带有 &lt; 的字符, &gt;&quot;在写入网页之前。只要您不将用户输入放置在脚本标签、图像标签(XSS 可能来自图像标签的 src=)等位置,这应该可以保护您免受 XSS 的侵害,因为他们无法创建自己的内容标签。

在 PHP 中,您可以使用 htmlSpecialChars 来执行此操作像这样编码所有字符的方法。然而Java没有这个方法,所以最快的方法就是替换它们,你真的应该自己检查整个列表。实现起来应该不会太难 5 replaceAll()

<小时/>

docs对于 StringEscapeUtils 方法,您使用声明来执行我上面建议的操作,因此您应该检查您是否正确使用该方法,因为您的示例不应在这种形式的预防中幸存。

关于java - Struts XSS 预防 - 预防 GET XSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978532/

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