1.Command Injection 命令注入
命令注入(Command Injection)漏洞也称为远程命令/代码执行漏洞(RCE,Remote Command/Code Exec),指应用程序的某些功能需要调用可以执行系统命令的函数,如果这些函数或者函数的参数能被用户控制,就可能通过命令连接符将恶意命令拼接到正常的函数中,从而随意执行系统命令,属于高危漏洞之一。
命令注入是滥用应用web应用程序的行为从而实现在操作系统上执行命令,在执行命令时将获得与操作系统上应用程序相同的权限。
例如,在以user1的用户身份运行的Web服务器上执行命令注入,将在对应的操作系统用户user1权限下执行命令,从而获得用户user1所拥有的系统权限。
在Web应用中,有时候会用到一些命令执行的函数,如php中system、exec、shell_exec等,当对 用户输入的命令没有进行限制或者过滤不严导致用户可以执行任意命令时,就会造成命令执行漏洞。比如PHP中的eval()函数,可以将函数中的参数当做PHP代码来执行,如果这些函数的参数控制不严格,可能会被利用,造成任意代码执行。
例如,使用ping命令测试IP,正常输入一个IP或者域名会返回一个正常的返回结果。当输入恶意