1

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

在报告中它说跨站点脚本(反映)

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

我正在使用 sesson id 对用户进行身份验证。我已经阅读了一些关于 XSS 攻击的文档,但找不到合适的解决方案,它可以与给定的 tomcat 版本一起使用。(注意:有没有使用 CSRF 令牌的解决方案。)

4

1 回答 1

5

首先赞美是为了!

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

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

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

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

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

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

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

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

我感觉有点像在这里宰杀一只羊羔——我知道通读所有这些内容会让人望而生畏,但慢慢来,不要惊慌。一旦您了解了每种漏洞类型,您会发现大多数漏洞都很容易预防。

希望这会有所帮助,查理

于 2016-04-04T10:46:22.340 回答