一、命令执行漏洞概述
1、基本定义:命令执行漏洞是指攻击者可以随意执行系统命令,分为远程命令执行(远程代码执行)和系统命令执行
程序应用有时候需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exex、passthru、popen、pro_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击
(1)、用户能够控制函数的输入,例如输入函数中的参数
(2)、存在可以执行代码或者系统命令的函数
(1)、开发人员在编写源码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并提交到服务端执行
(2)、命令注入攻击中,Web服务器没有过滤类似system、eval和exec等重要函数,是导致改漏洞攻击成功的主要原因
5、命令执行漏洞的危害

6、命令执行的场景
(1)、ping主机

(2)、DNS请求

(3)、Office文档
(4)、框架缺陷,例如:struck2框架

二、管道符号和通用命令符
- Linux常用管道符:
- ;前面的执行完执行后面的
- |是管道符,显示后面的执行结果
- ||当前面的执行出错时执行后面的
-
- Windows常用管道符
- &前面的语句为假则直接执行后面的
- &&前面的语句为假则直接出错,后面的也不执行
- |直接执行后面的语句
- ||前面出错执行后面的
1、登陆kali,打开终端
2、在终端中输入"whoami;ls",查看";"管道符前后两个命令都正确的结果

3、在终端中输入"whoam;ls",查看";"管道符前面命令错误,后面命令正确的结果

4、在终端中输入"whoami;lss",查看";"管道符前面命令正确,后面命令错误的结果

5、在终端中输入"whoami|ls",查看"|"管道符前后两个命令都正确的结果

6、在终端中输入"whoam|ls",查看"|"管道符前面命令错误,后面命令正确的结果

7、在终端中输入"whoami|lss",查看"|"管道符前面命令正确,后面命令错误的结果

8、在终端中输入"whoami||ls",查看"||"管道符前后两个命令都正确的结果

9、在终端中输入"whoam||ls",查看"||"管道符前面命令错误,后面命令正确的结果

10、在终端中输入"whoami|lss",查看"|"管道符前面命令正确,后面命令错误的结果

1、打开win7
2、打开cmd,输入whoami&net user;&前后命令正确执行

3、输入whoam&net user; &前面命令执行错误,后面命令正常执行

4、输入whoami&net us;&前面的正确执行,后面的错误执行

5、输入whoami&&net user ;&&两边命令正确执行

6、输入whoam&&net user;&&两边命令不能正确执行

7、输入whoami&&net us;&&左边的代码正确执行

8、输入whoami|net user;只显示|后面的命令结果

9、输入whoam|net user;|前面命令错误,导致|后面命令不能被执行

10、输入whoami|net us; |后面命令执行错误

11、输入whoami||net user;显示||前面命令的结果

12、输入whoam||net user;||前面命令错误,显示后面命令执行结果

13、输入whoami||net us;显示||前面的命令执行结果


这篇文章就写到这里了