原理
攻击者利用执行系统命令的函数 , 将恶意的系统命令拼接到正常的命令中,从而造成命令执行攻击
比如使用Web服务器的权限 执行系统命令,读写文件
反弹shell
甚至控制整个服务器进而内网渗透
触发点/检测
命令执行漏洞Web端不容易发现 , 大多通过代码审计 , 检查容易触发漏洞的 特殊函数 和 特殊符号
exec();
system();
shell_exec();
passthru();
popen();
proc_popen();
反引号` 反引号包裹的代码会当做命令执行
方式
命令执行漏洞经常常配合管道符使用 | , || , & , &&
防御
命令执行的防御分为三个方面 参数 , 函数 和 权限
对前端传递的参数进行转译
减少或禁用执行命令的函数
还有就是限制web中间件的权限