如何检查json请求中是否注入了任何脚本



我们在跨站点脚本的AEM应用程序中遇到问题。我们决定在提交请求之前检查是否有任何脚本。我们如何在服务器端(Java)检查SOAP请求中是否有可用的脚本。这是避免跨站点脚本问题的正确解决方案吗?

这是一个非常宽泛的问题,我们无法提供任何实现细节,因为我们不知道您的任何架构或实现细节。然而,有一些一般的XSS需要记住:

  • 如果你只在浏览器中使用JS"检查脚本",然后再提交一个无法解决任何问题的表单。人们可以通过简单地发出表单从任何其他工具(如curl、PostMan等)发出的HTTP请求来轻松绕过这一点。在处理表单提交的请求时,您需要检查服务器端的坏数据

至于如何在CQ服务器端做这类事情:Adobe有一些建议你应该通读一遍:

  • AEM 6.1
  • AEM 5.6

这些页面上的PDF"备忘单"链接可能会非常有用


有不同的方法可以减轻XSS风险。白名单数据只让已知的好数据通过,黑名单数据屏蔽任何已知的坏数据,编码数据以防止脚本被视为HTML。要想更好地了解该做什么,请注意OWASP建议

查看XSSAPI,您可以使用此api中的方法来防止XSS安全风险
另一方面,您可能会开始使用提供自动上下文XSS保护的sightly。

最新更新