问题标签 [commandinjection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
648 浏览

java - 操作系统命令注入(CWE ID 78)(1 个缺陷)Java 代码

缺陷在于 Runtime.getRuntime().exec(cmd, env) 方法。我们已经使用 OWASP ESAPI 验证了输入。

但是 Veracode 仍然报告 OS 命令注入漏洞。

旧代码:

公共进程 exec(String[] cmd, String[] env) 抛出 IOException {

新代码:

公共进程 exec(String[] cmd, String[] env) 抛出 IOException {

0 投票
1 回答
182 浏览

php - Checkmarx 对 PHP 和库的理解程度如何?

很抱歉这个非常广泛的问题,但我们有一些问题,例如 Checkmarx 抱怨代码注入如下

我认为命令被转义了,一切都很好,但为什么 Checkmarx 的想法不同?

应用程序的 <?php 方法在 REDACTED 的第 1 行调用带有系统的 OS(shell)命令,使用不受信任的字符串和要执行的命令。

这可能允许攻击者注入任意命令,并启用命令注入攻击。

攻击者可能能够通过用户输入 _GET 注入执行的命令,该命令由应用程序在 REDACTED 的第 1 行的 <?php 方法中检索。

我还想知道 Checkmarx 是否以及如何能够理解通过 Composer 安装的库或框架代码?例如

或 WP 相关的东西,这些东西也经常被错误地标记为容易发生 SQL 注入

如果它检查消毒方法,是否有特定的方法?老实说,我想避免为 Checkmarx 更改太多代码。

0 投票
0 回答
45 浏览

.net - .Net SignalR 2.0 长轮询易受 Web 应用程序防火墙攻击

我在我的项目中使用了 .Net SignalR 2.0。

在我的客户站点上,longPolling使用了传输。客户端使用表单数据向服务器发送/signalr/poll?transport=longPolling...POST 请求: messageId: d-F700AFA3-0,0|BH,0|BF,0|BI,2

在此处输入图像描述

我的客户使用 Web 应用程序防火墙来捕获安全漏洞,并且此应用程序警告该请求违反了 CMD-INJECTION-ANOMALY(命令注入)规则。来自 Web 应用程序防火墙的完整响应:

据我了解,违规是 SignalRmessageId表单数据与|psWAF 规则匹配。

如何通过 SignalR 池请求的规则?或者向我的客户解释禁用规则的文档在哪里?

0 投票
0 回答
1040 浏览

python - 如何解决 Checkmarx 针对 python 代码“args=parser.parse_args()”的“命令注入”问题?

我有一个解析输入参数的python代码,如下所示:

对于上述代码,Checkmarx 显示“args=parser.parse_args()”的高严重性错误消息,如下所示:

应用程序的 get_process_output 方法通过 Popen 调用 OS(shell)命令,使用不受信任的字符串和要执行的命令。这可能允许攻击者注入任意命令,并启用命令注入攻击。攻击者可能能够通过用户输入 parse_args 注入执行的命令,该命令由应用程序在 {} 方法中检索...

上面的python代码是在内部使用的(不是在像网站这样的公共环境中),所以不会发生命令注入。所以在这种情况下通过 Checkmarx 扫描,你能告诉我任何更新我的 python 代码的线索吗?(例如,我可以使用其他 python-API 来替换上面的“args=parser.parse_args()”吗?谢谢!

0 投票
0 回答
56 浏览

spring - Spring Mongotemplate如何获取collection统计信息

我正在尝试使用 Spring 的 MongoTemplate 获取集合大小,但似乎没有很好地映射到 MongoDB 文档中的阶段$collState

我发现获得集合大小的唯一方法似乎是这样的:

集合名称基于通过 OIDC 不记名令牌获取的 customerID。但我认为这可能会打开一个攻击向量来使用命令注入。

任何人都知道使用 mongotemplate 获取集合大小的其他方法,而无需打开命令注入,或者一个好的库来清理要插入命令的字符串?

0 投票
0 回答
576 浏览

javascript - 在 Lodash 中获取命令注入

最近,我的安全扫描面临以下漏洞

安全扫描结果

注意:此漏洞是由于对 CVE-2021-23337 的修复不足所致。

检测:应用程序因使用此组件而易受攻击。

建议:此组件/包没有安全的升级路径。我们建议调查替代组件或潜在的缓解控制。

当我运行 npm audit 时,我看到这是漏洞。虽然,我的所有包都在 Package.Json 文件中更新,但我仍然收到此错误

NPM 审计结果:

有人可以解释并帮助我解决这个问题吗

谢谢

0 投票
0 回答
94 浏览

c# - C# 中的强化命令注入问题

WindowsApiManager.cs 中的 StartProcess() 方法调用 set_Arguments() 来执行命令。此调用可能允许攻击者注入恶意命令。

在我尝试将文件名和参数传递给启动过程时遇到上述问题。

我已经尝试过使用正则表达式和路径操作技术,但强化问题仍然存在。如果我对文件名和参数进行硬编码以启动该过程,那么强化问题就不会出现

请帮我解决这个问题。

下面是我的代码

0 投票
1 回答
65 浏览

ruby-on-rails - Ruby 使用 open3 防止命令注入

在我正在处理的一个项目中,我们使用 backtip 方法来运行系统命令。

效果很好。但由于它可能导致命令注入漏洞,我们计划使用execopen3. 我们在open3执行系统命令时面临问题。我们将用于解决命令注入。

但这会导致以下错误

当我包含这样的参数时,这有效。

但是我们不应该单独传递参数以避免命令注入吗?还是我对第一个版本做错了什么?

0 投票
0 回答
57 浏览

python - 如何在 Checkmarx 上修复 parse_args 的命令注入问题

我有解析输入参数的python代码:

Checkmarx 说明如下:应用程序的 main 方法使用 cmd 调用 OS(shell)命令,使用不受信任的字符串执行命令。这可能允许攻击者注入任意命令,并启用命令注入攻击。攻击者可能能够通过用户输入注入执行的命令,parse_args ...我想我需要去除不需要的字符,如|,&和; 但我不确定如何/在哪里做。我可以在“(opt, agrs)=parser.parse_args()”这行之前做吗?谢谢

0 投票
0 回答
47 浏览

php - 我的代码容易受到命令注入吗?

我正在创建一个 CMS,但我不知道如何编写代码以从命令注入中保存。让我知道我的代码中是否存在 RCE 漏洞。