什么是命令执行漏洞?命令执行漏洞就是服务器端没有对客户端用户输入的命令进行过滤,导致用户可以通过任意拼接系统命令,使服务器端成功执行任意系统命令。原因是因为在服务器安装的web程序,web框架和web组件等外部程序有时候去需要调用执行命令的函数,所以如果没有对客户端用户输入的命令进行过滤,就会使得用户通过外部程序直接编写和执行系统的命令函数。
常见windows系统命令执行函数
whoami:查看服务器用户名,ipconfig:查看本机IP地址子网掩码以及默认网关等,dir:查看本目录文件
常见Linux系统命令执行函数
whoami:查看服务器用户名,ifconfig:查看本机IP地址子网掩码以及默认网关等,ls:列出本目录文件,pwd:查看现目录的绝对路径
在命令执行中,除了直接输入命令之外,如果服务器进行了拦截,还需要管道符来进行拼接函数。
如果前面被拦截,还可以执行后面的命令。
如题
如果可以执行的话,直接 cat /flag
当然接下来就是被拦截的一种情况了。
既然错了,尝试 拼接,前面执行错误,执行后面的
还有其他拼接函数,具体应用,需要选择。
Linux
;前面的执行完执行后面的 |是管道符,显示后面的执行结果 ||当前面的执行出错时执行后面的Windows
&前面的语句为假则直接执行后面的 &&前面的语句为假则直接出错,后面的也不执行 |直接执行后面的语句 ||前面出错执行后面的通用命令符
command1 && command2 command1执行成功才执行command2 command1 | command2 只执行command2 command1 & command2 command1和command2之间互相不影响