TomcatPUT的文件上传漏洞(CVE-2017-12615)
目录
漏洞描述:
当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。
受影响的版本:
Apache Tomcat 7.0.0 to 7.0.79
漏洞位置:
利用条件:
Apache Tomcat 默认开启 PUT 方法,org.apache.catalina.servlets.DefaultServlet的 readonly 默认为 true,需要手动配置readonly为false才可以进行漏洞利用,而且默认没有在 Tomcat/conf/web.xml 里写,需要手工添加并且改为 false,才可以进行测试。
环境搭建:
这里使用docker vulhub搭建漏洞环境,在Ubuntu上搭建vulhub的步骤如下:
安装docker
apt-get update
apt install docker.io
查看当前docker的版本
docker -v
因为第一次安装docker,所以仓库是空的
需要下载镜像
查询云上的公有的镜像仓库
这里做实例,我们选择 xf5v****镜像
使用docker imags查看当前仓库里的docker
运行镜像,生成容器,为容器设置99端口,再加上image Id(前三位即可)
查看镜像是否运行
在浏览器登录,输入默认地址 ,给容器设置端口(前提,该端口之前没启动)
安装docker加速器
Linux环境执行:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
安装PIP
如果你的环境中没有安装pip,还需要先安装pip。推荐使用如下命令进行安装,这种方式将会少安装很多不需要的依赖:
curl -s https://bootstrap.pypa.io/get-pip.py | python3
安装docker-compose
安装vulhub
安装完成docker和docker-compose后,拉取Vulhub到本地任意目录即可:
git clone GitHub - vulhub/vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose
也可以下载master分支的压缩包:Vulhub.zip
https://codeload.github.com/vulhub/vulhub/zip/refs/heads/master
systemctl start docker
因为下载速度仍然比较慢,作者推荐使用 xshell 连接进行传输文件,节约时间成本
解压完这个目录后
找到CVE-2017-12615并进入
在漏洞路径下启动环境
进入burpsuite,打开内置浏览器输入127.0.0.1:99,开启拦截,
将拦截的数据包发送到重构器repeater中
将get方法改为put方法
三种绕过方法可以成功上传后缀为***.jsp的文件
evil.jsp
evil.jsp::$DATA
evil.jsp/
漏洞复现:
安装Tomcat可成功访问
漏洞修复:
受影响的Apache Tomcat 7.0.0 to 7.0.79版本,建议及时更新到Apache Tomcat 7.0.81,就自动修补了该漏洞,并且用户避免启用readonly功能,将false改成true
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiaeach
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22