栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Apache HTTPD 换行解析漏洞(CVE-2017-15715) 漏洞复现

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Apache HTTPD 换行解析漏洞(CVE-2017-15715) 漏洞复现

前言

Apache在2.4.0-2.4.29版本中存在一个解析漏洞。程序在解析PHP时,如果文件名最后有一个换行符x0A,apache依然会将其当成php解析,但是在上传文件时可以成功的绕过黑名单。

如果上传文件的php程序是设置的白名单,那么这个漏洞将无法利用。

漏洞环境

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

docker-compose up -d

-d 表示后台运行。

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

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

原理分析

启动容器后执行以下命令查看容器ID。

docker ps

然后执行以下命令进入容器。

docker exec -it 容器ID /bin/bash

exec 表示在容器中执行一个命令,该命令后加容器ID和要执行命令,上面执行的命令就是/bin/bash。
-i 表示即使没有连接,也要保持STDIN打开,也就是一直监听命令的状态。
-t 表示分配一个tty终端设备,加上这个参数就具有按TAB自动补全命令等等功能。
更多详细内容可以参考:https://blog.csdn.net/qq_40081976/article/details/84590119,docker exec 的使用-it操作。

查看一下上传文件的php文件:

cat index.php

该程序是采用黑名单的形式,如果文件后缀名不在名单内即可上传,所以 a.phpx0A不在黑名单列表中,可以上传。但是x0A是换行符,所以apache会直接忽略,将其当成php来执行。

漏洞复现

打开目标地址 http://192.168.119.131:8080/,选择一句话木马准备上传。

然后打开burpsuite,开启数据监听。

点击网页中提交按钮,上传文件。此时burpsuite就会抓取提交的数据。

点击 Hex按钮,进入十六进制编辑页面,并找到文件名a.php的位置。

然后再文件名后插入0A,这个位置也就是在 od oa的前面。

然后点击 Forward按钮,这时候浏览器上什么也没有显示,但是此时文件已经上传成功了。接下来访问一句话木马a.php%0a,并通过参数a传递命令即可控制服务器。

http://192.168.119.131:8080/a.php%0A?a=id

注意:该文件名是通过$_POST['name']获取的,所以会将 x0A保留。如果文件名使用的是$_FILES['file']['name']获取将会自动把末尾的x0A去掉,导致无法利用该漏洞。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/289623.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号