【Web】vulhub-httpd apache解析漏洞复现(1)

目录

①CVE-2017-15715

②apache_parsing_vulnerability


①CVE-2017-15715

【Web】vulhub-httpd apache解析漏洞复现(1)_第1张图片

【Web】vulhub-httpd apache解析漏洞复现(1)_第2张图片

贴出源码:






	Upload


意思就是上传文件的后缀不能是php,php3,php4,php5,phtml,pht

我们看一下.htaccess配置文件

 
    SetHandler application/x­httpd­php 

 这段代码的作用是告诉 Apache 如何处理以 .php 结尾的请求,确保这些请求能够被正确地解释和执行 PHP 代码,并将结果返回给客户端。

这个$我们很熟悉,在非多行模式下,$会忽略在句尾的%0a。之前就利用%0a换行绕过了preg_match

举个例子

if (preg_match('/^flag$/', $_GET['a']) && $_GET['a'] !== 'flag') {
    echo $flag;
}

只要传入?a=flag%0a即可 

这里也是一样的道理

 【Web】vulhub-httpd apache解析漏洞复现(1)_第3张图片

 

 绕过过滤,写马成功【Web】vulhub-httpd apache解析漏洞复现(1)_第4张图片

访问 ,RCE

【Web】vulhub-httpd apache解析漏洞复现(1)_第5张图片

②apache_parsing_vulnerability

【Web】vulhub-httpd apache解析漏洞复现(1)_第6张图片

 

贴出源码:


File:

 原理:

apache通过查看mime.types文件来查看是否能够识别上传文件的文件类型。在/etc/mime.types文件中记录了大量的文件后缀和mime类型。Apache文件解析漏洞涉及一个解析文件的特性:Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别(不在mime.types内),则继续向左识别。

如果在Apache 的 配置文件里有这样一行配置

AddHandler application/x-httpd-php .php

AddHandler不是用正则去匹配后缀的。所以 ,在文件名的任何位置匹配到php后缀,它都会让php_module解析 。

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

实操:

改文件后缀,上传,写马成功

【Web】vulhub-httpd apache解析漏洞复现(1)_第7张图片

 访问,RCE

【Web】vulhub-httpd apache解析漏洞复现(1)_第8张图片

你可能感兴趣的:(php,apache,ctf,web,cve,vulhub,安全)