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

admin 2023年1月4日09:40:49评论29 views字数 1545阅读5分9秒阅读模式

1.漏洞原理

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在 一个解析漏洞,在解析PHP时,a.phpx0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

可以看到这里获取文件名是需要单独post一个name的,因为如果通过 $FILES'file' 获 取文件名的话,会把x0a自动去除,所以 $FILES'file' 这种方式获取文件名就不会造成 这个漏洞.

2.影响版本范围

apache :2.4.0~2.4.29版本

3.漏洞复现

在这里我自己搭建了Vulfocus漏洞复现平台

3.1 前提:会使用docker的基本命令(哔站上的教程的挺多的)

3.2 拉取vulfocus镜像:docker pull vulfocus/vulfocus:latest

3.3 运行拉下来的镜像:docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=0.0.0.0 8e55f85571c8

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

 3.4 访问页面

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

 3.5 开启靶场

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

3.6 设置burp代理,将浏览器的流量代理到burp上,进行拦截(在这里我使用的是SwitchyOmega火狐插件)

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

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

 自己写个表单,用来向服务器上传webshell

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

 3.7 访问该静态网页,这里上传如下webshell,对流量进行抓包

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

 <?php phpinfo();?>

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

3.8 后台源码进行分析

<?php if(isset($FILES['file'])){ #1.php php $name =basename($POST['name']); $ext = pathinfo($name,PATHINFO_EXTENSION); $array=array('php','php3','php4','php5','phtml','pht'); if(in_array($ext,$array)){ exit('bad file'); } move_uploaded_file($_FILES'file','./'.$name); } ?>

后台是通过黑名单方式过滤了php后缀的文件,根据最开始的知识,什么样的文件算是php文件呢?在 有定义,这句话的意思是以php结尾的文件都算php文件,在正则中表示匹配输入字符串的结尾位置。 如果设置了 RegExp对象的 Multiline属性,则也匹配 n 或 r 恰好,我们在文件末尾加了0x0a(n),所以被匹配成功了。

a.0x0d r CR这三者代表是回车,是同一个东西,回车的作用只是移动光标至该行的起始位置

b.0x0a n CL这三者代表换行,是同一个东西,换行至下一行行首起始位置;

3.9发送到repeater进行修改重发

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

 直接访问:http://192.168.4.157:31071/a.php%0a 上传上去的webshell执行成功

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

 ctrl+F 查找flag

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

4.修复的建议

     1.升级到最新版本

    2.或将上传的文件重命名为为时间戳+随机数+.jpg的格式并禁用上传文件  目录执行

5.闲谈

2022年已经过去了,在2022年经历了很多事情,虽然过得不算如意,但都挺过来了,一路走来,从没放弃过对安全的追求,安全是我最痴迷的。那段记忆既让我留恋,又使我害怕,不要活在过去,大步向前,没有什么可以难倒我的,大学生涯也快结束了,有时真的感叹时间的飞逝啊,愿你我安好。拿出魄力去做自己热爱的事情,去追求自己的安全,好好安排好2023的计划,2023静心让自己的安全技术再突破,为以后的发展做好准备。时刻准备着,网安人,你绝对不平凡,相信自己,加油!

原文始发于微信公众号(红豆芷浠):Apache HTTPD 换行解析漏洞(CVE-2017-15715)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月4日09:40:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache HTTPD 换行解析漏洞(CVE-2017-15715)http://cn-sec.com/archives/1497509.html

发表评论

匿名网友 填写信息