长度限制过滤绕过

长度限制过滤绕过
FLYFISH长度过滤绕过前置知识
相关命令
>和>>符号命令换行符
ls -t命令sh命令dir、*、rev命令
>和>>符号
作用
- 通过
>创建文件,写入内容
1 | # > a 创建文件 |
- 通过
>>来追加内容
1 | # echo "benben" >> a 在原来文件后面的内容追加benben |
命令换行符
\换行符
1 | c\ |
ls -t命令
作用
将文件名按照时间顺序排列出来
ls排序按照先符号后数字再字符
sh命令
shell命令语言解释器
作用
执行交互式命令
用户可直接在终端输入命令,sh会逐行读取并执行:1
sh -c "echo Hello, World!" # 执行单条命令
运行脚本文件
若文件包含一系列 Shell 命令(如a文件),可通过sh解释执行:1
sh a # 用 sh 解释器执行文件 a 中的命令
处理标准输入
可从管道或重定向中读取命令:1
echo "ls -l" | sh # 通过管道传递命令给 sh
组合使用
关键点:文件名中的反斜杠使得ls -t输出的每行以\结尾,Shell将其视为续行符,从而将所有行合并为一条命令cat flag,实现绕过长度或关键字过滤。
1 | 按照时间顺序反向依次创建文件 |
作用
当对命令长度有限制时,可以将很短的文件名拼接成可执行命令
dir、*、 rev
dir
作用:
基本和ls一样
好处:
开头字符是d,使得它在alphabetical序中靠前
按列输出,不换行
*
*等同于$(dir ) ,会将内容中的第一个作为命令,第二个作为参数执行
1 | # ls 得到echo flag |
rev
作用
反转文件每一行内容
1 | # cat flag 输出 123456 |














