问题标签 [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.
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 {
php - Checkmarx 对 PHP 和库的理解程度如何?
很抱歉这个非常广泛的问题,但我们有一些问题,例如 Checkmarx 抱怨代码注入如下
我认为命令被转义了,一切都很好,但为什么 Checkmarx 的想法不同?
应用程序的 <?php 方法在 REDACTED 的第 1 行调用带有系统的 OS(shell)命令,使用不受信任的字符串和要执行的命令。
这可能允许攻击者注入任意命令,并启用命令注入攻击。
攻击者可能能够通过用户输入 _GET 注入执行的命令,该命令由应用程序在 REDACTED 的第 1 行的 <?php 方法中检索。
我还想知道 Checkmarx 是否以及如何能够理解通过 Composer 安装的库或框架代码?例如
或 WP 相关的东西,这些东西也经常被错误地标记为容易发生 SQL 注入
如果它检查消毒方法,是否有特定的方法?老实说,我想避免为 Checkmarx 更改太多代码。
.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
表单数据与|ps
WAF 规则匹配。
如何通过 SignalR 池请求的规则?或者向我的客户解释禁用规则的文档在哪里?
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()”吗?谢谢!
spring - Spring Mongotemplate如何获取collection统计信息
我正在尝试使用 Spring 的 MongoTemplate 获取集合大小,但似乎没有很好地映射到 MongoDB 文档中的阶段$collState。
我发现获得集合大小的唯一方法似乎是这样的:
集合名称基于通过 OIDC 不记名令牌获取的 customerID。但我认为这可能会打开一个攻击向量来使用命令注入。
任何人都知道使用 mongotemplate 获取集合大小的其他方法,而无需打开命令注入,或者一个好的库来清理要插入命令的字符串?
javascript - 在 Lodash 中获取命令注入
最近,我的安全扫描面临以下漏洞
安全扫描结果
注意:此漏洞是由于对 CVE-2021-23337 的修复不足所致。
检测:应用程序因使用此组件而易受攻击。
建议:此组件/包没有安全的升级路径。我们建议调查替代组件或潜在的缓解控制。
当我运行 npm audit 时,我看到这是漏洞。虽然,我的所有包都在 Package.Json 文件中更新,但我仍然收到此错误
NPM 审计结果:
有人可以解释并帮助我解决这个问题吗
谢谢
c# - C# 中的强化命令注入问题
WindowsApiManager.cs 中的 StartProcess() 方法调用 set_Arguments() 来执行命令。此调用可能允许攻击者注入恶意命令。
在我尝试将文件名和参数传递给启动过程时遇到上述问题。
我已经尝试过使用正则表达式和路径操作技术,但强化问题仍然存在。如果我对文件名和参数进行硬编码以启动该过程,那么强化问题就不会出现
请帮我解决这个问题。
下面是我的代码
ruby-on-rails - Ruby 使用 open3 防止命令注入
在我正在处理的一个项目中,我们使用 backtip 方法来运行系统命令。
效果很好。但由于它可能导致命令注入漏洞,我们计划使用exec
或open3
. 我们在open3
执行系统命令时面临问题。我们将其用于解决命令注入。
但这会导致以下错误
当我包含这样的参数时,这有效。
但是我们不应该单独传递参数以避免命令注入吗?还是我对第一个版本做错了什么?
python - 如何在 Checkmarx 上修复 parse_args 的命令注入问题
我有解析输入参数的python代码:
Checkmarx 说明如下:应用程序的 main 方法使用 cmd 调用 OS(shell)命令,使用不受信任的字符串执行命令。这可能允许攻击者注入任意命令,并启用命令注入攻击。攻击者可能能够通过用户输入注入执行的命令,parse_args ...我想我需要去除不需要的字符,如|,&和; 但我不确定如何/在哪里做。我可以在“(opt, agrs)=parser.parse_args()”这行之前做吗?谢谢
php - 我的代码容易受到命令注入吗?
我正在创建一个 CMS,但我不知道如何编写代码以从命令注入中保存。让我知道我的代码中是否存在 RCE 漏洞。