漏洞描述:
- 当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令。
- 使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。
漏洞复现
浏览器访问靶机可看到一个上传表单
http://ip:port/upload.php
上传一个php文件,提示不支持的上传的类型
上传一个shell.shtml文件
<!--#exec cmd="id" -->
浏览器访问上传的文件,下图可以看到成功执行代码,说明存在远程命令执行漏洞
读取passwd文件
<!--#exec cmd="cat /etc/passwd" -->
也可以上传webshell文件来达到控制shell的目的,这里不再演示