RCE漏洞概述
可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。
远程系统命令执行
命令执行漏洞(Command Execution)即黑客可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限
更常见的命令执行漏洞是发生在各种Web组件,包括Web容器、Web框架、CMS软件、安全组件等
漏洞产生的原因:
1. 由于开发人员编写源码,没有针对代码中可执行的特殊函数(可控制变量)入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。
> 对用户的输入命令安全检测不足,直接参与到操作系统的交互当中
> 应用调用执行系统命令的函数
> 将用户输入作为系统命令的参数拼接到了命令行中
2. 命令注入攻击中WEB服务器没有过滤类似system ( ) ,eval ( ) ,exe ( ) 等函数是该漏洞攻击成功的最主要原因。
应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击