分隔执行多个命令
- 分号分隔命令
- 管道符号
- 逻辑运算
- & 挂起命令
- \n 执行下一个命令 (php 的 exec 函数可以 , 别的没有测试过)
- 重定向命令 > < >>
分隔符
- tab
- ${IFS}
利用字符串截取绕过黑名单
- 请见文章末尾参考资料
案例
- 被双引号包裹且输入内容在双引号内
$command = $_GET['cmd'];
str_replace('"', "", $command);
system('find . -name "'.$command.'"');
可以直接使用反引号来绕过过滤 `id`
- 要执行的命令在黑名单内
a=i&&a=${a}d&&$a