命令执行绕过符号总结

在命令执行这种题目中我们总会遇到正则过滤,不得不使用一些特殊符号来绕过,下面是常见的符号和对应的绕过方法:

空格:

%20
%09
Linux知识拓展:

  • $IFS(Internal Field Separator),在shell环境里面,这个东西叫做内部字段分隔f符,它可以被设置为很多默认的字符,比如空格,制表符,换行符等。
  • 虽然它默认为空格,但是我们不可以在shell中直接用$IFS代表空格,我们需要用这些方法来设置:
  • $IFS$1,我来解释一下:
    在 shell 脚本和命令行中,$1 通常表示传递给脚本或函数的第一个位置参数
    但是在内部字段分割符这个地方,它被用来调取内部字段分隔符的第一个字符,即空格,参数位置为$1的空格。所以我们在这里可以用$IFS$1来绕过空格。

换行符:

%0a

php分隔符号”

1.使用js代码来编辑php代码:

1
2
3
<script language="php">
@eval($_POST['cmd']);
</script>