Apache SSI 远程命令执行漏洞

Apache SSI 远程命令执行漏洞

文章目录

  • Apache SSI 远程命令执行漏洞
    • SSI
      • 功能:
      • 配置:
      • 用法:
    • 漏洞分析

SSI

漏洞复现之前,要知道SSI是什么,那么SSI是什么呢?

SSI----即server-side includes

功能:

SSI提供了一种对现有HTML文档增加动态内容的方法,不需要编写复杂的JSP/PHP/ASP等程序或者调用CGI程序。

配置:

因为是docker拉取的环境,可能和自己搭建的环境有出入,本人找的也比较久

进入拉取仓库的bash环境到/etc/apache2/apache2.conf下查看配置文件,发现

Apache SSI 远程命令执行漏洞_第1张图片

发现这里,然后进入/etc/apache2/mods-enabled/mime.conf
在这里插入图片描述

具有如上配置,说明开启了ssi的功能,有关ssi的配置参考https://httpd.apache.org/docs/2.4/howto/ssi.html

用法:

ssi的语法格式类似HTML的注释,因此正确启用ssi之后,浏览器可以忽略他但是源码仍然可见,服务器会对特定的ssi指令解析,从而实现少量动态内容的添加。

漏洞分析

综上所述,如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用语法执行任意命令。

正常上传PHP文件是不允许的,我们可以上传一个shell.shtml文件:


查看上传文件,页面回显如上执行了whoami命令(忘记截图…)。

你可能感兴趣的:(漏洞复现)