- 当一个命令执行漏洞过滤了空格符号且后端服务器为linux时,可以利用
${IFS}
这个特殊的内置变量来绕过,此变量是bash中默认的域分隔符。其默认值是空格,tab, 和新行(即” \r\n”,其中” \r\n”任意一个值都代表”空白”)。并且当遇到需要分割字符串的场景时,多个连续的空白将会被压缩为一个空白(经测试,压缩为了空格),故而可以用来代替空格使用。
还有一些别的方法,例如:
ls$IFS-la
ls$IFS$100-la
${IFS}
这个特殊的内置变量来绕过,此变量是bash中默认的域分隔符。其默认值是空格,tab, 和新行(即” \r\n”,其中” \r\n”任意一个值都代表”空白”)。并且当遇到需要分割字符串的场景时,多个连续的空白将会被压缩为一个空白(经测试,压缩为了空格),故而可以用来代替空格使用。还有一些别的方法,例如:
ls$IFS-la
ls$IFS$100-la