Apache解析漏洞(换行解析+多后缀解析)复现

2020-05-08  本文已影响0人  Your7Maxx

停了好长时间没做一些安全相关的东西了,今天难得上实验课的时候有时间,搞两个漏洞复现把。

和往常一样,使用vulhub搭建环境。

Apache两个解析漏洞环境在httpd目录下:

一个是换行解析漏洞(CVE-2017-15715),另一个是多后缀解析。(ssi的rce本次不复现)

复现一:换行解析

一、原理

Apache可以通过mod_php来运行PHP网页。

其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,解析到下面例子时候:

      1.php\x0A

将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。(%0a即编码中的换行符,于是这个解析漏洞叫换行解析)

二、复现过程

首先进入到换行解析漏洞环境目录下开启环境:
service docker start

docker-compose build

docker-compose up -d

接着访问虚拟机ip:8080即可:

先上传一个简单的小马看看:

被拦了,开始尝试下换行符后缀:

在Hex编码下查看,该处插入(insert byte)0a作为换行符

放包,访问 ip/2.php%0A:

phpinfo():

退出docker环境:
docker-compose down

复现二:多后缀解析

一、原理

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件:

AddType text/html .html

AddLanguage zh-CN .cn

其中,.html后缀增加了media-type,值为text/html;给.cn后缀增加了语言,值为zh-CN。此时,如果用户请求文件index.cn.html,他将返回一个中文的html页面。

以上就是Apache多后缀的特性。

如果运维人员给.php后缀增加了处理器:

AddHandler application/x-httpd-php .php

那么,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

二、复现过程

同上,进入多后缀解析漏洞的目录,开启环境:

访问 虚拟机ip:

先上传小马:被拦。

接着利用多后缀解析的漏洞,修改文件后缀名:.php.jpg

成功,并返回文件的路径

访问ip/路径,并输入phpinfo:

两个基本的解析漏洞复现过程。

好久没打靶机了,这几天学校课程实验有点多,忙着上网课。

发篇博客调动下自己的学习状态,潜心努力。

上一篇下一篇

猜你喜欢

热点阅读