java - tomcat 5.5如何防止XSS攻击

标签 java xss tomcat5

我使用的是 tomcat 5.5.36。我用 JSP 构建了一个应用程序。我使用“toolOwasp Zap 安全工具”来扫描我的应用程序。在报告中我发现了一个与XSS相关的问题。我正在使用表单登录用户并通过邮件发送。

报告中称“跨站脚本攻击(已反射(reflect))”

参数-用户名 攻击-</span><script>alert(1);</script><span> 证据-</span><script>alert(1);</script><span>

我正在使用 session ID 来验证用户身份。我读过一些有关 XSS 攻击的文档,但找不到合适的解决方案,该解决方案可以与给定的 tomcat 版本一起使用。 (注:有没有使用CSRF token的解决方案。)

最佳答案

首先要表扬!

您已经在保护您的应用程序并成为一名出色的开发人员方面迈出了最大的一步 - 您实际上考虑了安全性。说真的,这让我对开发人员的 future 感觉更好,因为业界很少有人能做到这一点。干得好:-)

现在是有趣的部分: 保护您的应用程序免受跨站点脚本攻击或任何其他类型的漏洞的侵害,并不是简单地通过在 Tomcat 中安装某些东西或启用某些东西就可以实现的,事实上,您使用 Tomcat 的事实不应该与任何应用程序真正相关级漏洞。此外,跨站点请求伪造是一个单独的、不相关的漏洞。抱歉:-(

看一下您的具体示例 - 基本上您遇到的问题是您的应用程序正在获取用户在登录表单中输入的任何输入,并将其打印在页面中而不进行清理。在报告中,它告诉您它尝试使用用户名 </span><script>alert(1);</script><span> 登录。发现响应中打印出了脚本和警报。

您可以自己尝试一下,您就会看到问题 - 您将收到一个警报弹出窗口。

不幸的是,没有简单的开关可以翻转来保护您的应用程序。您必须了解并理解所有常见的漏洞类型,然后学习应对每种漏洞的标准方法和工具。

OWASP Top 10 wiki 是一个很好的起点,您可以在其中找到有关各种漏洞的大量信息、它们是什么、它们如何工作以及您应该采取哪些措施来防范它们。

https://www.owasp.org/index.php/Top_10_2013-Top_10

您甚至可以找到代码示例和工作示例来提供帮助。

我感觉有点像在这里牵着一只羔羊去宰杀 - 我知道读完所有这些会非常令人畏惧,但慢慢来,不要 panic 。一旦您了解了每种漏洞类型,您就会发现大多数漏洞都很容易预防。

希望这有帮助, 查理

关于java - tomcat 5.5如何防止XSS攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36399955/

相关文章:

java - 为什么 Jetty 要求使用 ProxyTo,而我已经提供了 ProxyTo

java - 尝试在空对象引用上调用虚拟方法 'android.content.Context.getResources()'

java - Hibernate 中的动态预加载和延迟加载

java - 使用 MUnit 排除子流

security - 防止 ASP.Net Webforms 中的 XSS : why is Validate Request not enough?

tomcat - 无法从外部访问 Tomcat 5

php - 限制 IFRAME 内的 JS 和 PHP 能力

apache-flex - AMF 和跨站脚本漏洞混淆

ssl - Tomcat5 SSL 不工作