为了账号安全,请及时绑定邮箱和手机立即绑定

ESAPI 库中是否有验证可以确保 CWE-93 漏洞不会出现在 Veracode SAST

ESAPI 库中是否有验证可以确保 CWE-93 漏洞不会出现在 Veracode SAST

大话西游666 2023-03-02 10:18:21
我在 Veracode 平台上对我的代码进行了 SAST 扫描,我在 Java 邮件功能中发现了这个漏洞,我正在使用它从我的应用程序发送邮件。以下是即将出现的漏洞 - CRLF 序列的不当中和('CRLF 注入')(CWE ID 93)。message.setSubject(subjectOfEmail);我听说我们可以使用 ESAPI 库,但我找不到合适的验证函数。请有人帮我解决这个问题,这样它就不会再次出现在扫描中。
查看完整描述

3 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

在 Veracode 帮助中心查看此页面,其中列出了将修复某些缺陷类的验证库:

https://help.veracode.com/reader/DGHxSJy3Gn3gtuSIN2jkRQ/y52kZojXR27Y8XY51KtvvA

有大量的 ESAPI 库可以修复 CWSE 93 漏洞,包括

org.owasp.esapi.Encoder.encodeForHTML


查看完整回答
反对 回复 2023-03-02
?
茅侃侃

TA贡献1842条经验 获得超21个赞

使用 ESAPI 的 decodeForHTML() 方法,如下例所示。

ESAPI.encoder().decodeForHTML(subjectOfEmail)


查看完整回答
反对 回复 2023-03-02
?
侃侃无极

TA贡献2051条经验 获得超10个赞

如果在这种情况下您要防止的只是标头注入问题(这是与 CWE ID 93 相关的问题),那么请查看 ESAPI 的org.owasp.esapi.StringUtilities类。特别是静态方法stripControls()可能正是您所需要的。使用Encoder.encodeForHTML()可能会编码比你想要的更多的东西,因为它假定一个 HTML 上下文。(当然,如果您担心在某些 Web 电子邮件客户端的主题标头上防止 XSS,您可能想要这样做。通常这些客户端应该已经内置了这种保护,所以如果您对其进行编码,它最终可能会被编码两次但渲染不正确。)

请记住,如果您使用StringUtilities.stripControls(),您的 Veracode 的 SAST 引擎可能仍会为 CWE 标记您的代码,因为我不确定它是否将该类的方法识别为在这种特殊情况下删除了污点标志。(但您始终可以将其作为缓解评论提及。)


查看完整回答
反对 回复 2023-03-02
  • 3 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信