简介
前两天刚看到的,记录一下。 shell注入:Shell注入是一种安全漏洞,攻击者通过在命令行或脚本中插入恶意代码来利用这个漏洞。这通常发生在应用程序将用户提供的输入直接传递给shell命令而未进行充分验证和转义时。
详解
和xss一样,waf也可以过滤shell注入。 shell环境支持通配符,通配符是用于模式匹配和搜索的一种方法,和正则相似。 而shell支持的通配符与正则基本一样。
shell通配符
- 星号(*):匹配任意数量的字符(包括零个字符)。例如:
*.txt 匹配所有扩展名为.txt的文件。
file* 匹配所有以 "file" 开头的文件。
*file* 匹配所有包含 "file" 的文件。
Bash
- 问号(?):匹配任意单个字符。例如:
file?.txt 匹配 "file1.txt"、"file2.txt" 等。
?file.txt 匹配 "afile.txt"、"1file.txt" 等。
Bash
- 方括号([]):匹配方括号内的任意单个字符。可以使用短横线(-)表示范围。例如:
file[123].txt 匹配 "file1.txt"、"file2.txt" 和 "file3.txt"。
file[a-c].txt 匹配 "filea.txt"、"fileb.txt" 和 "filec.txt"。
file[!1-3].txt 匹配除 "file1.txt"、"file2.txt" 和 "file3.txt" 之外的文件。
Bash
- 花括号({}):扩展花括号内的逗号分隔的内容。例如:
file{a,b,c}.txt 匹配 "filea.txt"、"fileb.txt" 和 "filec.txt"。
file{1..3}.txt 匹配 "file1.txt"、"file2.txt" 和 "file3.txt"(在某些Shell中,如bash)。
Bash
通配符绕过
利用文件全路径搭配统配符锁定文件。
比如cat /etc/passwd
命令,可以写成/usr/bin/cat /etc/passwd
。
搭配通配符来伪装锁定cat
命令,例如/???/???/?at /etc/passwd
。
再伪装passwd
,例如/???/???/?at /???/pa?sw?
。
结语
简单学习,记录于此。