命令执行知识点:
常用的命令执行函数:
system() //函数执行有回显,返回执行结果
passthru() //函数执行有回显,返回执行结果
exec() //函数执行无回显,默认返回最后一行结果,通过echo可将执行结果输出到页面
shell_exec() //函数执行无回显,通过echo可将执行结果输出到页面
`` //shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体,当禁用shell_exec时,` 也不可执行
popen()
proc_open()
pcntl_exec()
linux中有查看功能的命令有:
cat、tac、more、less、head、tail、nl、
sed、sort、uniq、rev、vi、vim、od(以二进制的方式读取档案内容)
空格 绕过:
%09、$IFS$9、 ${IFS}、$IFS%09、< 、<>、%20、0a、%0b、%0c、%0d、%a0、/**/ //有特殊意义的符号需用\进行转义
左括号(绕过:
%u0028、%uff08、%c0、%28、%c0、%a8、%e0、%80、%a8
右括号)绕过:
%u0029、%uff09、%c0、%29、%a9、%e0、%80、%a9
分号;绕过:
?>
web29
题目代码:
error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match(