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

这篇具有很好参考价值的文章主要介绍了【Web】vulhub-httpd apache解析漏洞复现(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

①CVE-2017-15715

②apache_parsing_vulnerability


①CVE-2017-15715

【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

贴出源码:

<?php
if(isset($_FILES['file'])) {
    $name = basename($_POST['name']);
    $ext = pathinfo($name,PATHINFO_EXTENSION);
    if(in_array($ext, ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'])) {
        exit('bad file');
    }
    move_uploaded_file($_FILES['file']['tmp_name'], './' . $name);
} else {

?>

<!DOCTYPE html>
<html>
<head>
	<title>Upload</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data">
	<p>
		<label>file:<input type="file" name="file"></label>
	</p>
	<p>
		<label>filename:<input type="text" name="name" value="evil.php"></label>
	</p>
	<input type="submit">
</form>
</body>
</html>

<?php
}
?>

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

我们看一下.htaccess配置文件

<FilesMatch \.php$> 
    SetHandler application/x­httpd­php 
</FilesMatch>

 这段代码的作用是告诉 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),php,apache,ctf,web,cve,vulhub,安全

【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

 【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

 绕过过滤,写马成功【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

访问 ,RCE

【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

②apache_parsing_vulnerability

【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

 【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全

贴出源码:

<?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
endif;

 原理:

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),php,apache,ctf,web,cve,vulhub,安全

 访问,RCE

【Web】vulhub-httpd apache解析漏洞复现(1),php,apache,ctf,web,cve,vulhub,安全文章来源地址https://www.toymoban.com/news/detail-767399.html

到了这里,关于【Web】vulhub-httpd apache解析漏洞复现(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【漏洞复现】Apache_HTTPD_换行解析漏洞(CVE-2017-15715)

    感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 说明 内容 漏洞编号 CVE-2017-15715 漏洞名称 Apache HTTPD 换行解析漏洞 漏洞评级 高危 影响范围 2.4.0~2.4.29 漏洞描述 在解析PHP时, 1.phpx0A 将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略 修复方案

    2024年02月05日
    浏览(46)
  • Apache HTTPD 漏洞复现

    链接地址:Vulhub - Docker-Compose file for vulnerability environment。 1.1 漏洞描述 说明 内容 漏洞编号 无 漏洞名称 Apache HTTPD 多后缀解析漏洞 漏洞评级 高危 漏洞描述 在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性

    2024年02月09日
    浏览(42)
  • Apache httpd漏洞复现

    该漏洞与Apache、php版本无关,属于用户配置不当造成的解析漏洞。在有多个后缀的情况下,只要一个文件含有 .php 后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。 启动upload-labs-env-win-0.1目录下的phpstudy,打开bp自带的浏览器,访问虚拟机的本机地址127.0.0.1,来到up

    2024年02月09日
    浏览(33)
  • Apache HTTPD 换行解析漏洞

    Apache HTTPD是一款HTTP服务器,它可以通过 mod_php 来运行PHP网页。 影响版本: Apache 2.4.0~2.4.29 存在一个解析漏洞;在解析PHP时, 1.phpx0A 将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 我们查看相关配置:读取配置文件,前三行的意思是把以 .php 结尾的文件当成

    2023年04月26日
    浏览(33)
  • Apache Httpd 常见漏洞解析(全)

    Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。 其2.4.0~2.4.29版本中存在一个解析漏洞。 在解析PHP时,1.phpx0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 ①环境启用 ②编译和运行 ③访问漏洞环境 编写一句话木马上传文件123.php,上传都是失败的

    2024年02月21日
    浏览(42)
  • Apache nginx解析漏洞复现

    将nginx解压后放到c盘根目录下: 运行startup.bat启动环境: 在HTML文件夹下有它的主页文件: nginx在遇到后缀名有php的文件时,会将该文件给php解释器处理,在读取文件时如果遇到00时就读取结束

    2024年02月09日
    浏览(41)
  • Apache两个解析漏洞复现及防御方法

    形成原因: 配置apache时,对于apache配置不熟练,配置命令不清楚,在配置PHP文件处理程序时,配置命令存在问题:位于漏洞环境目录的 conf/docker-php.conf里的配置命令(AddHandler application/x-httpd-php .php),该命令会将后缀中只要含有.php的文件都会被处理程序解析,这导致攻击者

    2024年02月04日
    浏览(36)
  • apache漏洞复现-多后缀解析漏洞,换行解析漏洞,2.4.49,2.4.50

      目录 准备工作 Apache多后缀解析漏洞复现 漏洞复现 漏洞防御 Apache换行解析漏洞复现(CVE-2017-15715) 漏洞复现 漏洞防御 CVE-2021-41773 漏洞复现 CVE-2021-42013 漏洞复现 环境:下载docker 和 vulhub 安装包:蚁剑安装包(百度网盘 我的资源安装包蚁剑winlinux安装包AntSword-Loader-v4.0.3-w

    2024年02月15日
    浏览(41)
  • weblogic漏洞复现整理汇总(vulhub)

    根据vulhub已有的复现环境,对weblogic漏洞复现进行一个汇总,包括RCE、未授权任意文件上传、反序列化漏洞等,方便今后回顾学习 weblogic是oracle出品的java中间件 端口是7001 默认后台登录地址:http://your-ip:7001/console 常见弱口令: 此网站可以搜索对应软件的默认密码 漏洞原因:

    2024年02月15日
    浏览(40)
  • 【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

    影响版本 Redis 2.x,3.x,4.x,5.x Redis默认情况下,会绑定在0.0.0.0:6379(在redis3.2之后,redis增加了protected-mode,在这个模式下,非绑定IP或者没有配置密码访问时都会报错),如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等等,这样将会将Redis服务暴

    2023年04月25日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包