原理:程序应用有时需要调用一些执行系统命令的西数,如PHP中的system、exec、 shell.exec,
passthru、popens proc.popen等,当用户能控制这些西数中的参数时,就可以将恶意系统命令
拼接到正常命令中,从而造成命令执行攻击,
命令执行漏洞产生的原因
1.由手开发人员编写源码时,没有针对代码中可执行的特殊西数入口做过滤,导致客户端可以
提交悉意构造语句,并提交服务端执行
2.命令注入攻击中,web服务器没有过滤类似system、eval和exec等西数,是该漏洞攻击成功
的主要原因
命令执行漏洞防御
1、各种框架、插件等位置都有可能出现命令执行,升级到新版本,多打补丁
2、关注行业最新安全动态,一旦爆发命令执行漏洞,迅速修复,避免造成更大影响
3、少用框架/CMS
区别:
命令执行漏洞是当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。由于服务器端没有针对执行函数和对用户提交的内容进行过滤,所以产生了恶意命令。而代码执行漏洞也叫代码注入漏洞,指用户通过浏览器 提交执行恶意脚本代码,执行恶意构造的脚本代码。例如我们最常见的一句话木马和文件上传等等。