转义字符

# 转义字符

反斜杠可以改变紧随其后的字符的含义,或者用来表示一些特殊字符,例如换行符 \n、制表符 \t 等,当 \ 用于转义时,它实际上是在告诉 shell 使用它后面那个字符的特殊含义(如果有的话),如果没有,则还将其视为普通字符

所以这一特性可以在CTF题目中绕过一些命令的黑名单过滤,从而使用RCE命令执行

例如:字符c、l都没有特殊含义,转义后还是命令本身,在终端里,ta\c f\lag 会被解析为 tac flag,实现绕过

ta\c f\lag
1

具有特殊含义的字符

\n:换行符。
\t:水平制表符(Tab)。
\r:回车符。
\b:退格符。
\a:警报(响铃)符。
\f:换页符。
\v:垂直制表符。
\\:字面意义上的反斜线 \\':单引号字符。
\":双引号字符。
\?:问号字符。
\0:空字符(NULL 字符)。通常用于程序和脚本中表示字符串的结束。
1
2
3
4
5
6
7
8
9
10
11
12
最后一次更新于: 2025/01/17, 16:51:56