我正在使用tomcat 5.5.36。我用JSP构建了一个应用程序。我使用“toolOwasp Zap安全工具”来扫描我的应用程序。在报告中,我发现了与XSS相关的问题。我正在使用表单登录用户并发送邮件。
在报告中称其为Cross Site Scripting(反映)
参数 - 用户名
攻击 - </span><script>alert(1);</script><span>
证据 - </span><script>alert(1);</script><span>
我正在使用sesson id来验证用户身份。我已经阅读了很少有关XSS攻击的文档但是找不到合适的解决方案,这可以与给定的tomcat版本一起使用。 (注意:是否有使用CSRF令牌的解决方案。)
答案 0 :(得分:3)
首先赞美是有序的!
您已经迈出了保护应用程序并成为优秀开发人员的最大步骤 - 您实际上考虑了安全性。说真的,这让我对开发人员的未来感觉更好,因为在行业中很少有人能做到这一点。干得好: - )
现在有趣的部分: 保护您的应用程序免受跨站点脚本,或者实际上任何其他类型的漏洞,不是简单地通过在Tomcat中安装或启用某些东西就可以实现的,您使用Tomcat的事实不应该与任何应用程序真正相关级别漏洞。此外,跨站点请求伪造是一个单独的,不相关的漏洞。对不起: - (
暂时查看您的具体示例 - 基本上您遇到的问题是您的应用程序正在接收用户放入登录表单的任何输入,并将其打印在页面中而不进行清理。在报告中,它告诉您它尝试使用用户名</span><script>alert(1);</script><span>
登录,并发现脚本和警报已在响应中打印出来。
你可以自己尝试一下,然后你会看到问题 - 你会收到警告弹出窗口。
不幸的是,没有简单的开关可以翻转以保护您的应用程序。您必须了解并了解所有常见的漏洞类型,然后学习打击每种漏洞类型的标准方法和工具。
一个很好的起点是OWASP Top 10 wiki,您可以在其中找到有关各种漏洞的信息,它们是什么,它们如何工作以及您应该采取哪些措施来防范它们。
https://www.owasp.org/index.php/Top_10_2013-Top_10
您甚至可以找到代码示例和工作示例来提供帮助。
我觉得有点像带领羊羔在这里宰杀 - 我知道阅读所有这些将是相当艰巨的,但要花时间,不要惊慌。一旦了解了每种漏洞类型,就会发现大多数漏洞都很容易被阻止。
希望这有帮助, 查理