bash通配符与命令执行
2019-03-18 18:22:58
关于bash通配符有以下几个
?是匹配一个任意字符.也就是说如果我们平时执行的是cat /etc/passwd可以用?来替代
例如:
root@bee-box:~# which ls
/bin/ls
root@bee-box:~# echo /???/?s
/bin/ls /bin/ps /sys/fs
root@bee-box:~#
可以用/???/?s来取代.类似的cat也是可以用/???/??t或者/???/c?t等来查找到.如果在绕waf的过程里面应该是可以直接拿出来用的.
root@bee-box:~# echo /???/c?t
/bin/cat
root@bee-box:~# echo /???/??t
/bin/cat /dev/net /etc/apt /etc/opt /etc/rmt /var/opt
试试常见的cat /etc/passwd
我们用/???/??t /???/??ss??来替换
cat /etc/passwd
/???/??t /???/??ss??
可以看到达到了同样的效果
在安恒月赛里出现过一道题目:
1 |
|
字母和数字都被过滤了,我们就可以利用上面的特性
/???/??? => /bin/cat
详细的wp在安全客:https://www.anquanke.com/post/id/160582?from=singlemessage