当前位置: 首页 > 知识库问答 >
问题:

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

吴驰
2023-03-14

我在Veracode平台上对我的代码进行了SAST扫描,并在我用来从应用程序发送邮件的Java邮件功能中发现了这个漏洞。以下是即将到来的漏洞-CRLF序列的不当中和(“CRLF注入”)(CWE ID 93)。

<代码>消息。设置主题(subjectOfEmail)

我听说我们可以使用ESAPI库,但我找不到合适的验证函数。有人请帮我重新调解这个问题,这样就不会再次出现在扫描中。

共有3个答案

申屠秦斩
2023-03-14

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

ESAPI。编码器()。decodeForHTML(subjectOfEmail)

姬衡
2023-03-14

如果在这种情况下,您希望防止的只是标题注入问题(这就是CWE ID 93所涉及的),那么请查看ESAPI的org。owasp。esapi。StringUtilities类。特别是静态方法可能正是您所需要的。使用编码器。encodeForHTML()可能会进行编码,因为它假设了HTML上下文。(当然,如果您担心在某些web电子邮件客户端的主题标头上防止XS,您可能会希望这样做。不过,通常这些客户端应该已经内置了这种保护,因此如果您对其进行编码,它可能会被编码两次,并且无法正确呈现。)

请记住,如果使用StringUtilities。stripControls(),您可以使用Veracode的SAST引擎为CWE标记代码,尽管我不确定它是否识别出该类的方法在这个特定情况下删除了污点标记。(但您可以随时将其作为缓解意见提及。)

慎弘化
2023-03-14

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

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

有一大堆ESAPI库可以修复CWSE 93缺陷,包括

org.owasp.esapi.Encoder.encodeForHTML
 类似资料:
  • 扫描有漏洞的车辆 为了找到有漏洞的车辆,你只需要在IP地址21.0.0.0/8 和 25.0.0.0/8 上扫描Sprint设备的端口6667。任何有响应的设备就是有漏洞的Uconect系统(或一个IRC服务器)。为了确定这一点,你可以尝试Telnet登陆这台设备并查找错误字符串“Unknown command”。 图-扫描设置 如果你想的话,接下来你可以与D-Bus服务交互,从而执行上述的任何操

  • 漏洞扫描器是一种能够自动在计算机、信息系统、网络及应用软件中寻找和发现安全弱点的程序。它通过网络对目标系统进行探测,向目标系统发生数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举目标系统上存在的安全漏洞。漏洞扫描是保证系统和网络安全必不可少的手段,面对互联网入侵,如果用户能够根据具体的应用环境,尽可能早的通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的

  • 是否存在一种“内部安全应用程序”场景,其中由于早期的Log4J版本,软件比没有它时更容易受到攻击? 我在下面概述了这个问题的一些细节。 我正在做一些工作来减轻最近Log4J漏洞的风险。我知道有一些方法涉及从组织的所有计算机、服务器、远程桌面等中删除早期Log4J jar文件的所有痕迹,在完成之前,组织被视为“处于危险之中”。然而,我也想知道如此大规模的全面努力支出是否相称[编辑22-12月21日1

  • 是否有一个推荐的库来修复与org.apache.commons.beanutils.populate(bean,ParamMap)相关的Bean操纵漏洞?我试图编写一些自定义方法来验证参数映射,但这并没有解决问题。 问候桑杰

  • 我一直在尝试在我们的Spring应用程序中处理log4j2的安全性以传递Veracode。尤其是CWE 117-日志注入漏洞。我们有一个带有spring-boot-starter-log4j2的Spring应用程序。 我尝试配置log4j2模式: 但它不起作用。我还尝试了这样的方法: 或 我仍然得到veracode结果: 我们不想使用ESAPI或任何日志外观,我们不想更改代码中的所有日志行,有数千