原理:由于开发人员在编写源代码时,没有对源代码中可执行的特殊函数入口做过滤,导致客户端可以提交一些cmd命令,并交由服务器程序执行。导致攻击者可以通过浏览器或者其他客户端软件提交一些cmd命令(或者bash命令)至服务器程序,服务器程序通过system、eval、exec等函数直接或者间接地调用cmd.exe执行攻击者提交的命令。
防御:对特殊函数坐过滤,对用户输入的命令做检查
常用攻击方法:利用各种调用系统命令的web应用,通过命令拼接、绕过黑名单等方式实现在服务端实现想要实现的系统命令。
示例:其他示例点此链接:
用一个tomcat远程代码执行漏洞作为示例:
将get改成PUT
执行我们的命令whoami,可以看到直接显示出来了
查看文件