标签: veracode

如何获取 veracode 漏洞报告的详细信息?

如何获取 veracode 漏洞报告的详细信息?

我是一个流行的 JS 库Ramda的维护者,我们最近收到一份报告,称该库存在原型污染漏洞。这可以追溯到veracode 报告,其中写道:

ramda 很容易受到原型污染。攻击者可以通过该_curry2函数将属性注入到现有的构造原型中,并修改诸如 __proto__ constructor 、 和 之类的属性prototype

我明白他们所说的原型污染是什么。snyk 的 writeuplodash.merge中有一个很好的解释。Ramda 的设计有所不同,明显类似的 Ramda 代码不会受到此类漏洞的影响。这并不意味着 Ramda 的任何部分都不受其约束。但该报告没有包含任何细节,没有代码片段,也没有办法质疑他们的发现。

他们描述的细节显然是错误的。 _curry2不可能会遇到这个问题。但由于该函数被用作许多其他函数的包装器,因此报告者的误解可能隐藏着真正的漏洞。

有没有办法获取此错误报告的详细信息?演示问题的代码片段?任何事物?我已经填写了他们的联系表。答案可能仍在到来,因为才 24 小时前,但我并没有屏住呼吸——这似乎主要是一份销售表格。我所做的所有搜索都提供了有关如何使用其安全工具的信息,但几乎没有提供有关如何创建自定义报告的信息。我在 CVE 数据库中找不到这个。

javascript veracode ramda.js cve

25
推荐指数
1
解决办法
1353
查看次数

如何配置XML解析器以禁用c#中的外部实体解析

var xDoc = XDocument.Load(fileName);
Run Code Online (Sandbox Code Playgroud)

我在函数中使用上面的代码来加载XML文件.功能明智的工作正常,但它显示Veracode检查后Veracode缺陷.

描述

该产品处理XML文档,该文档可以包含带有URL的XML实体,这些URL可以解析为预期控制范围之外的文档,从而导致产品将不正确的文档嵌入其输出中.默认情况下,XML实体解析程序将尝试解析和检索外部引用.如果可以将攻击者控制的XML提交给其中一个功能,则攻击者可以访问有关内部网络,本地文件系统或其他敏感数据的信息.这称为XML eXternal Entity(XXE)攻击.

建议

配置XML解析器以禁用外部实体解析.

我需要做些什么来解决它.

c# veracode

9
推荐指数
2
解决办法
1万
查看次数

如何修复Veracode CWE 117(日志输出中和不当)

有一个Spring全局@ExceptionHandler(Exception.class)方法可以记录异常:

@ExceptionHandler(Exception.class)
void handleException(Exception ex) {
    logger.error("Simple error message", ex);
...
Run Code Online (Sandbox Code Playgroud)

Veracode扫描表明此日志记录已经Improper Output Neutralization for Logs建议使用ESAPI记录器.有没有办法在不将记录器更改为ESAPI的情况下修复此漏洞?这是我遇到此问题的代码中唯一的地方,我试图找出如何以最小的更改来修复它.也许ESAPI有一些我没有注意到的方法?

PS当前记录器是slf4j上的Log4j

UPD: 最后我使用了ESAPI记录器.我以为它不会使用我的默认日志服务,但我错了,它只是使用我的slf4j logger接口和适当的配置.

private static final Logger logger = ESAPI.getLogger(MyClass.class);
...
logger.error(null, "Simple error message", ex);
Run Code Online (Sandbox Code Playgroud)

ESAPI具有log4j记录器和记录器工厂的扩展.可以配置在ESAPI.properties中使用的内容.例如:

ESAPI.Logger=org.owasp.esapi.reference.Log4JLogFactory
Run Code Online (Sandbox Code Playgroud)

java logging spring esapi veracode

9
推荐指数
2
解决办法
1万
查看次数

如何解决CWE-259:使用硬编码密码?

我向 Veracode 安全扫描工具提交了我的应用程序 EAR,并在下面的代码中发现了这个缺陷:

private String url = "jdbc:mysql://localhost:8081/sql";  
private String userName = "xyz";  
private String password = "abc";
DriverManager.getConnection(url, user, password); // At this line i am getting this flaw. 
Run Code Online (Sandbox Code Playgroud)

请有人帮助我解决 CWE-259:使用硬编码密码缺陷。

java security veracode

8
推荐指数
1
解决办法
2万
查看次数

Veracode,调试符号和XCode

我正在尝试通过Veracode扫描iOS应用程序:一个应用程序安全平台.为了使它们扫描.IPA,.IPA需要包含调试符号.

对于正在使用的Archive构建配置和项目/目标,我已指定:

  • 生成调试符号:是
  • 复制期间剥离调试符号:NO
  • 死代码剥离:没有
  • 默认隐藏的符号:否
  • 剥离链接产品:没有

然而,在提交.IPA时,Veracode仍然给我以下错误:

没有调试符号编译的主文件 - 1个文件

我需要采取另一个步骤来创建调试符号,或许是存档吗?

xcode ios veracode

7
推荐指数
1
解决办法
3650
查看次数

"不受信任的初始化"缺陷 - 在创建SQL连接时

我做了以下......

private static IDbConnectionProvider CreateSqlConnectionProvider(DbConfig dbConfig)
{
    return new QcDbConnectionProvider(() =>
        {
            SqlConnectionStringBuilder csBuilder = new SqlConnectionStringBuilder();

            if (!string.IsNullOrEmpty(dbConfig.DataSource)) 
                csBuilder.DataSource = dbConfig.DataSource;

            if (!string.IsNullOrEmpty(dbConfig.Database))
                csBuilder.InitialCatalog = dbConfig.Database;

            .
            .
            .
            .

            return new SqlConnection(csBuilder.ConnectionString);
        });
}
Run Code Online (Sandbox Code Playgroud)

客户端使用VERACODE工具进行代码分析,VERACODE检测到"不可信的初始化"缺陷

return new SqlConnection(csBuilder.ConnectionString);
Run Code Online (Sandbox Code Playgroud)

此外,dbConfig正在初始化如下所示......

DbConfig configDbConfig = new DbConfig
{
    Database = codeFile.ConfigurationDb,
    DataSource = codeFile.DataSource,
    IntegratedSecurity = sqlCredentials.UseWindowsAuthentication ? 1 : 0,
    UserId = sqlCredentials.UseWindowsAuthentication ? null : sqlCredentials.SqlUserName,
    ClearTextPassword = sqlCredentials.UseWindowsAuthentication ? null : sqlCredentials.SqlUserPassword
};
Run Code Online (Sandbox Code Playgroud)

还有什么我需要做的才能解决这个缺陷?此外,根据此链接,我使用创建连接字符串的 …

c# sql-server veracode

7
推荐指数
1
解决办法
2366
查看次数

如何在.net反序列化期间防止XML外部实体(XXE)攻击

我们正在使用veracode对代码进行安全性分析,并在下面的代码中显示XXE缺陷,特别是在调用Deserialize()的情况下.我们如何防止序列化程序访问外部实体.我在下面尝试将XMLresolver的XMLresolver设置为null无法正常工作.

    public static T DeserializeObject(string xml, string Namespace)
    {
        System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(T), Namespace);

        MemoryStream stream =
                new MemoryStream(Encoding.Default.GetBytes(xml));
        XmlReaderSettings settings = new XmlReaderSettings();

        // allow entity parsing but do so more safely
        settings.DtdProcessing = DtdProcessing.Ignore;
        settings.XmlResolver = null;

        using (XmlReader reader = XmlReader.Create(stream, settings))
        {
            return serializer.Deserialize(reader) as T;
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我可能会缺少什么或者是否还有其他事情要尝试.

.net c# xml veracode

7
推荐指数
1
解决办法
2863
查看次数

XXE:XDocument对XML外部实体引用的限制不当

因此,当我在应用程序上运行安全扫描时,我遇到了一个问题。事实证明,我无法防范XXE。这是显示有害代码的简短代码段:

static void Main()
        {
            string inp = Console.ReadLine();
            string xmlStr = ""; //This has a value that is much too long to put into a single post

            if (!string.IsNullOrEmpty(inp))
            {
                xmlStr = inp;
            }
            XmlDocument xmlDocObj = new XmlDocument {XmlResolver = null};
            xmlDocObj.LoadXml(xmlStr);
            XmlNodeList measureXmlNodeListObj = xmlDocObj.SelectNodes("REQ/MS/M");

            foreach (XmlNode measureXmlNodeObj in measureXmlNodeListObj)
            {
                XmlNode detailXmlNodeListObj = xmlDocObj.SelectSingleNode("REQ/DTD");
                string measureKey = measureXmlNodeObj.Attributes["KY"].Value;
                if (detailXmlNodeListObj.Attributes["MKY"].Value ==
                    measureKey) //Checking if selected MeasureKey is same 
                {
                    XmlNode filerNode = measureXmlNodeObj.SelectSingleNode("FS");

                    if …
Run Code Online (Sandbox Code Playgroud)

c# xml linq-to-xml veracode xxe

7
推荐指数
1
解决办法
1016
查看次数

使用 java.io.File.createTempFile 时 Veracode 不安全临时文件错误

我需要创建一个临时文件并将一些数据存储到其中。为此,我编写了以下代码:

import org.apache.commons.lang.RandomStringUtils;
import java.security.SecureRandom;

[...]

String random = RandomStringUtils.random(10, 0, 0, true, true, null, new SecureRandom());
File tempFile = File.createTempFile("PREFIX-" + random, ".pdf");

[...]
Run Code Online (Sandbox Code Playgroud)

它确实工作得很好,但是当我将此代码提交给Veracode 时,出现“不安全的临时文件(CWE ID 377)”错误。我认为使用SecureRandom会使临时文件名无法被攻击者预测。

在不使 Veracode 不满意的情况下生成临时文件的正确方法是什么?

java security file secure-coding veracode

6
推荐指数
1
解决办法
1841
查看次数

Javascript:网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS)

我正在花时间尝试修复 veracode 扫描缺陷 CWE-80 网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS)。

我所做的是对后端进行 HTTP 调用,以便打开包含下载文件的 blob。

    const xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.responseType = "arraybuffer";
    xhr.onreadystatechange =  () => {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var windowUrl = window.URL || window.webkitURL;
            var blobUrl = windowUrl.createObjectURL(new Blob([xhr.response]));
            const doc = document.createElement('a');
            document.body.appendChild(doc);
            doc.href = blobUrl;
            if (filename) {
                doc.download = filename;
            }
            doc.click();
            windowUrl.revokeObjectURL(url);
        }
    }
        xhr.send();
Run Code Online (Sandbox Code Playgroud)

veracode 抱怨这一行

document.body.appendChild(doc);
Run Code Online (Sandbox Code Playgroud)

对 Node.appendChild() 的调用包含跨站点脚本 (XSS) 缺陷。该应用程序使用不受信任的输入填充 HTTP 响应,从而允许攻击者嵌入恶意内容,例如 Javascript 代码,这些内容将在受害者浏览器的上下文中执行。XSS …

javascript xss xmlhttprequest owasp veracode

6
推荐指数
1
解决办法
6354
查看次数