Fortify是一个用于查找软件代码中的安全漏洞的SCA.我只是好奇这个软件如何在内部工作.我知道您需要配置一组规则来运行代码.但究竟是如何才能找到代码中的漏洞.
有没有人对此有任何想法?
提前致谢.
有一个 springboot 项目,其中想要排除 Snakeyaml 1.30 或将其升级到 1.31,以避免强化问题报告
Snakeyaml 1.30 版本存在安全漏洞
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
</parent>
Run Code Online (Sandbox Code Playgroud)
下面是在项目的有效pom.xml上看到的
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
是否有可能按照补救措施所说的将版本升级到 Snakeyaml 1.31 进行升级?
参考: https: //security.snyk.io/vuln/SNYK-JAVA-ORGYAML-2806360
有没有人用命令行来运行强化?我试着在我的CI构建中加入强化运行,我不知道该怎么做.
我有web应用程序,我用文件名称引用域名.我在哪里可以添加这些域名并从中调用它们.当我运行像fortify这样的工具来检查安全问题和标准时,它始终警告我不要保留硬编码的域名.什么是最好的选择,比如我在哪里可以从Web应用程序端(非数据库)存储和检索这些主域名?
我正在使用visual studio并致力于asp.net核心mvc应用程序.
以下是一个示例示例
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.221/styles/kendo.common.min.css" />
Run Code Online (Sandbox Code Playgroud)
其他例子
<environment exclude="Development">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
Run Code Online (Sandbox Code Playgroud) Fortify表示这是一个超出范围的读取:
if (strncmp("test string", "less than 32 char", 32) == 0)
{
...
}
Run Code Online (Sandbox Code Playgroud)
它说该函数从边界外读取数据less than 32 char.
如果strncmp超过32个字符并且第二个字符串少于32个字符,真的有一个发现吗?
我目前正在使用 HP Fortify 工具扫描项目中的安全漏洞。在扫描 Fortify 的 CLI 时,允许构建工具集成到其 CLI 命令中,以便构建并同时扫描项目中存在的文件。我正在使用以下命令:
sourceanalyzer -b mcapbookvalue -gradle -verbose ./gradlew -x test --console=verbose -debug --continue assemble
但构建陷入困境:
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.[0K
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
Run Code Online (Sandbox Code Playgroud)
如果我在不使用 Fortify 的集成命令的情况下构建项目,则构建成功,仅使用:
./gradlew -x test --console=verbose -debug --continue …
我正在使用Fortify SCA来查找我的应用程序中的安全问题(作为大学作业).我遇到了一些我无法摆脱的"Log Forging"问题.
基本上,我记录了一些来自Web界面的用户输入值:
logger.warn("current id not valid - " + bean.getRecordId()));
Run Code Online (Sandbox Code Playgroud)
并且Fortify将此报告为日志伪造问题,因为getRecordId()返回用户输入.
我已经关注了这篇文章,我正在用空格替换"新行",但问题依然存在
logger.warn("current id not valid - " + Util.replaceNewLine(bean.getRecordId()));
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出解决此问题的方法吗?
Fortify SCA和Fortify SSC有什么区别.这些软件生成的报告之间是否存在任何差异.我知道Fortify SSC是一个基于网络的应用程序.我也可以将Fortify SCA用作基于Web的应用程序吗?
是否足以将[ System.Web.Configuration.HttpRuntimeSection.EnableHeaderChecking](http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.enableheaderchecking ( VS.85).aspx)设置为true(默认)以完全阻止Http标题注入攻击像响应拆分等?
我问,因为白盒渗透测试工具(强化)报告可利用的http头注入问题HttpResponse.Redirect和cookie但我还没有找到成功执行攻击的方法.(编辑:..我们已启用EnableHeaderChecking ..)
当我针对Java项目运行Fortify分析时,我收到此错误:
[warning]: No rules files found
[error]: No rules files found
Run Code Online (Sandbox Code Playgroud)
我在哪里可以配置规则文件?