帝国建站软件,安阳县实验中学,装企营销系统,企业邮箱如何申请注册Command Injection Command Injection(命令注入)#xff0c;其目标是通过一个应用程序在主机操作系统上执行任意命令。当一个应用程序将用户提供的数据#xff08;如表单、cookies、HTTP头等#xff09;传递给系统shell时#xff0c;就可能发生命令注入攻击。在… Command Injection Command Injection(命令注入)其目标是通过一个应用程序在主机操作系统上执行任意命令。当一个应用程序将用户提供的数据如表单、cookies、HTTP头等传递给系统shell时就可能发生命令注入攻击。在这种攻击中攻击者提供的操作系统命令通常会以该应用程序的权限执行。命令注入攻击主要是由于输入验证不足造成的。 Low 这里提示我们输入IP地址我们输入本机的环回地址如下图所显示的结果和在系统终端中使用ping命令的结果一致。 下面看一下源代码 这段代码存在一个问题直接将用户提供的输入即$target传递给shell_exec函数。如果用户提供的输入包含恶意命令那么这些命令将被执行。exec是一个在Unix和Linux中常用的系统函数用于在同一进程中运行一个命令。 因为并没有对用户的输入进行验证和清理所以 在系统函数exec的ping 操作 的同时我们可以利用该系统命令在执行ping的同时执行其他命令 下面先介绍window中几个常见的命令连接符 ; 分号操作符可以运行几个命令按顺序执行 与操作符 如果第一个命令执行成功才会执行第二个命令 || 或操作符 第一个命令执行失败执行第二个命令 还是因为未对用户的输入进行任何限制和验证所以上面的连接符都可一试
如下图使用进行注入成功 Medium 先看源码相较于lowmedium会移除在黑名单中的字符 和 ; 故使用这两个字符以外的连接符即可。 使用 进行注入成功 High high相较于medium没有什么新意只是在黑名单中加入了更多的字符包含了’, ‘;’, | , ‘-’, ‘$’, ‘(’, ‘)’, ‘’, ‘||’| 细看第三个 | 后面有空格这点可以利用 如下图注入成功