Apache SSI 远程命令执行漏洞

    科技2022-08-28  122

    一、概述

    在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用<!--#exec cmd="id" -->语法执行任意命令。

     

    参考:

    https://vulhub.org/#/environments/httpd/ssi-rce/

    二、漏洞环境

    路径:vulhub/httpd/ssi-rce

    启动一个支持SSI与CGI的Apache服务器:docker-compose up -d

    访问http://192.168.220.139:8080/upload.php,就可以看到一个上传表单:

    三、漏洞复现

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

    shell.shtml文件内容如下:

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

     

    访问shell.shtml,可见命令已成功执行:

    Processed: 0.011, SQL: 10