命令注入(也称为 shell 注入)是一种攻击类型,攻击者可以通过易受攻击的应用程序在主机操作系统上执行任意命令。当应用程序将用户提供的不安全数据(表单、Cookie、HTTP 标头等)传递到系统 shell 时,可能会存在此漏洞。在此上下文中,系统 shell 是一个命令行界面,用于处理要执行的命令,通常在 Unix 或 Linux 系统上执行。
命令注入的危险在于,它可能允许攻击者在系统上执行任何命令,从而可能导致整个系统受损。
PHP 命令注入示例:
<monica-translate-translate-wrapper style="display: block;margin-top: 8px;margin-bottom: 8px;">假设您有一个 PHP 脚本,该脚本接受用户输入来 ping 指定的 IP 地址或域:</monica-translate-translate-wrapper>
$ip = $_GET['ip'];
system("ping -c 4 " . $ip);
在上面的代码中,PHP 脚本使用system()函数,使用用户通过 ip GET 参数提供的 IP 地址或域执行ping命令。
如果攻击者提供类似 8.8.8.8; cat /etc/passwd 的输入,则实际执行的命令将是:ping -c 4 8.8.8.8; cat /etc/passwd 。
这意味着系统将首先ping 8.8.8.8执行命令,然后执行cat /etc/passwd该命令,该命令将显示/etc/passwd文件的内容,从而可能泄露敏感信息。
更多请查看原文:
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Command%20Injection/README.md
原文始发于微信公众号(道一安全):红队实战、面试必备技能-RCE绕过全讲解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论