命令执行漏洞的定义:
命令执行漏洞,就是指用户通过浏览器或其他辅助程序提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。
命令执行漏洞的原理:
命令执行漏洞之所以会产生,原因就是由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意语句,并交由服务器端执行。
命令注入攻击中web服务器没有过滤类似system(),eval().exec()等函数就是该漏洞攻击成功的最主要原因。
命令执行漏洞的分类:
代码层:一些商业应用需要执行命令,商业应用的一些核心代码可能封装在二进制文件中,在web应用中通过system函数来调用;
系统层:(bash破壳漏洞)如果我们能够控制执行的bash的环境变量,就可以通过破壳漏洞来执行任意代码;
第三方组件层:很典型的就是wordpress中,可以选择使用imageMagick这个常用的图片处理组件,对用户上传的图片进行处理,造成命令执行,另外java中的命令执行漏洞(struts2/Elasticsearch等)
命令执行漏洞的危害:
任意执行系统命令,恶意木马被种植,挂马,钓鱼,敏感信息泄露.....