漏洞原理:
目标服务器开启了ssi功能,那么shtml文件将可以执行任意命令。如果上传文件程序限制了php文件的上传,且没有限制shtml文件上传,我们可以上传一个shtml文件,并利用<!--#exec cmd="命令" -->语法执行任意命令
漏洞复现:
启动环境vulhub/httpd/ssi-rce
启动环境后,使用浏览器进行访问http://ip地址:8080/upload.php,可以看到一个上传表单
尝试上传一个php类型的文件,但不支持该类型文件进行上传
上传一个后缀为.shtml的文件,写入以下内容
<!--#exec cmd="whoami" -->
点击上传,上传成功,点击链接,查看内容
也可将文件中的whoami替换成其他内容,例如:
读取passwd文件
<!--#exec cmd="cat /etc/passwd" -->
复现完成