bash命令注入以及黑名单绕过(持续更新)


分隔执行多个命令

  1. 分号分隔命令
  2. 管道符号
  3. 逻辑运算
  4. & 挂起命令
  5. \n 执行下一个命令 (php 的 exec 函数可以 , 别的没有测试过)
  6. 重定向命令 > < >>

分隔符

  1. tab
  2. ${IFS}

利用字符串截取绕过黑名单

  1. 请见文章末尾参考资料

案例

  1. 被双引号包裹且输入内容在双引号内
$command = $_GET['cmd'];
str_replace('"', "", $command);
system('find . -name "'.$command.'"');
可以直接使用反引号来绕过过滤 `id`
  1. 要执行的命令在黑名单内
a=i&&a=${a}d&&$a

参考资料 :

bash截取字符串

你可能感兴趣的:(bash命令注入以及黑名单绕过(持续更新))