Apache 多后缀解析漏洞 复现

0x00 前言

利用条件

配置文件中设置了如下,则会将所有包含php文件后缀的文件当做php进行解析。

AddHandler application/x-httpd-php .php

0x01 复现

参考 https://github.com/vulhub/vulhub/tree/master/httpd/apache_parsing_vulnerability

1.环境配置

这里直接开启就ok了。

2.过程演示

目标页面
在这里插入图片描述
这里上传一个l.php的文件,然后burp拦截,进行修改后缀
在这里插入图片描述
这里会返回一个路径
在这里插入图片描述
成功getshell
在这里插入图片描述

3.剖析

首先我们先上docker image看一下整个源码。

<?php

if (!empty($_FILES)):

$ext = pathinfo($_FILES['file_upload']['name'], PATHINFO_EXTENSION);
if (!in_array($ext, ['gif', 'png', 'jpg', 'jpeg'])) {
    die('Unsupported filetype uploaded.');
}

$new_name = __DIR__ . '/uploadfiles/' . $_FILES['file_upload']['name'];
if(!move_uploaded_file($_FILES['file_upload']['tmp_name'], $new_name)){
    die('Error uploading file - check destination is writeable.');
}

die('File uploaded successfully: ' . $new_name);

else:
?>
<form method="post" enctype="multipart/form-data">
    File: <input type="file" name="file_upload">
    <input type="submit">
</form>
<?php

这里可以看到先对后缀进行了一个白名单检测,然后在进行上传。

发布了42 篇原创文章 · 获赞 0 · 访问量 4143
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览