3 回答
TA贡献1810条经验 获得超4个赞
在 Veracode 帮助中心查看此页面,其中列出了将修复某些缺陷类的验证库:
https://help.veracode.com/reader/DGHxSJy3Gn3gtuSIN2jkRQ/y52kZojXR27Y8XY51KtvvA
有大量的 ESAPI 库可以修复 CWSE 93 漏洞,包括
org.owasp.esapi.Encoder.encodeForHTML
TA贡献1842条经验 获得超21个赞
使用 ESAPI 的 decodeForHTML() 方法,如下例所示。
ESAPI.encoder().decodeForHTML(subjectOfEmail)
TA贡献2051条经验 获得超10个赞
如果在这种情况下您要防止的只是标头注入问题(这是与 CWE ID 93 相关的问题),那么请查看 ESAPI 的org.owasp.esapi.StringUtilities类。特别是静态方法stripControls()
可能正是您所需要的。使用Encoder.encodeForHTML()
可能会编码比你想要的更多的东西,因为它假定一个 HTML 上下文。(当然,如果您担心在某些 Web 电子邮件客户端的主题标头上防止 XSS,您可能想要这样做。通常这些客户端应该已经内置了这种保护,所以如果您对其进行编码,它最终可能会被编码两次但渲染不正确。)
请记住,如果您使用StringUtilities.stripControls()
,您的 Veracode 的 SAST 引擎可能仍会为 CWE 标记您的代码,因为我不确定它是否将该类的方法识别为在这种特殊情况下删除了污点标志。(但您始终可以将其作为缓解评论提及。)
添加回答
举报