Apache解析漏洞实验

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

实验目的

  1. 了解Apache解析漏洞原理
  2. 掌握Apache漏洞的利用方法

实验工具

  • 火狐:Mozilla Firefox,中文俗称“火狐”(正式缩写为Fx或fx,非正式缩写为FF),是一个自由及开放源代码网页浏览器,使用Gecko排版引擎,支持多种操作系统,如Windows、Mac OS X及GNU/Linux等。
实验内容

什么是网站(web)漏洞?

web漏洞通常是指网站程序上的漏洞,可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞,这些漏洞一旦被恶意攻击者利用,会根据漏洞的危害程度,造成不可估量的损失。

Web常见漏洞

  • SQL注入
  • XSS跨站点脚本
  • 任意文件读取漏洞
  • 上传漏洞
  • CSRF
  • 命令注入
  • 弱口令漏洞
  • 敏感信息泄露漏洞

Apache解析漏洞

Apache解析文件格式的特点是这样的:它解析文件格式会从后向前解析,如果文件格式它不认识,他就会继续向前解析。

举一个例子,有一个文件为1.jpg.qqq,上传到Apache服务器中,因为Apache不认识qqq是什么格式。因此它就会继续向前解析,这时就解析到了jpg。因此Apache就认为这是一个jpg的文件。

在本次试验中,我们使用上传漏洞结合Apache解析漏洞,通过构造文件名来突破上传,最终成功拿到flag

白名单

服务端通过获取上传文件的扩展名来匹配预先定义的合法扩展名数组,如果未能成功匹配的话,认为上传文件不合法,返回报错信息,如果扩展名能成功匹配,则认为上传文件合法,进行文件保存操作。

拿上传图片举例,服务端定义的白名单:

$WhiteList=array("png","jpg","jpeg","gif");

可以看到,上述代码中只允许上传"png","jpg","jpeg","gif"这四种格式文件,上传文件时,服务端会检测后缀,如果所上传的文件格式后缀,没有在白名单允许的范围内,系统会拒绝上传。

黑名单

服务端通过获取上传文件的扩展名来匹配预先定义的非法扩展名数组,如果能成功匹配的话,认为上传文件不合法,返回报错信息,如果扩展名没有匹配到,则认为上传文件合法,进行文件保存操作。

拿上传图片举例,服务端定义的黑名单:

$BlackList=array("php","htaccess","asp","aspx");

根据黑名单列表可以看出,服务器不允许上传攻击中常用的php、htaccess、asp、aspx等脚本文件,也就是说这些文件都会被服务端所拦截,不能上传成功。

下面开始实验

步骤1:寻找上传漏洞,并尝试上传

apache漏洞,渗透测试学习,apache,安全

我们看到下方显示了允许上传的类型,可以猜测,这应该是一个白名单验证,系统只允许列出的文件后缀进行上传。

首先在桌面创建一个php一句话木马,测试是否能上传成功。

在php文件里写入如下内容,并命名为1.php

<?php eval($_POST['123']);?>            //post会把123当做参数进行传递,eval会执行后面的语句。

eval在php中会将字符串当做代码来执行, 而post的意思是使用post的方式进行传递参数。

一句话木马,顾名思义,它的体积很小,只由一句php代码构成。

点击浏览,选择创建好的1.php,然后点击提交

apache漏洞,渗透测试学习,apache,安全

可以看到提示:必须上传规定的类型,也就是只可以上传它白名单内的内容,如果上传白名单外的东西,会被系统拒绝。

因为在白名单列表中有jpg格式,因此在我们再将它的后缀名改为jpg,命名为1.jpg,查看是否能成功。

apache漏洞,渗透测试学习,apache,安全

可以看到,改为jpg可以上传成功。

虽然jpg文件上传成功,但它其中的php代码并不能执行成功,使用中国菜刀也不会连接成功的。

因为jpg是图片格式,不能解析其中的php代码,要想解析php代码,后缀必须为php或者其他可以解析php代码的格式。

  • 提示:这个时候我们就需要对其进行绕过,服务器会检测我们所上传的后缀是否在白名单内,如果不在的话就禁止上传。
步骤2:利用Apache解析缺陷漏洞绕过上传检测

通过上述,我们已经知道了Apache解析漏洞的原理和它如何利用,这里我们就开始上传。

之前我们已经知道,Apache解析文件名后缀是从后向前解析,因此我们可以这样构造:

1.php.abc

因为Apache不识别abc格式的文件,这样他就会往前解析,这时他就会解析到了php。这样我们就可以执行成功了。

但是我们看到,上传失败,为什么呢?因为网站设置了白名单(这里之前已经详细的讲过,这里不再赘述),我们只能上传规定的上传类型。

因此我们尝试上传它白名单允许的格式,看是否可以成功上传:

我们尝试gif格式作为后缀,构造名称:

1.php.gif

apache漏洞,渗透测试学习,apache,安全

可以看到,虽然上传成功,但并没有爆出flag,这是为何?

因为gif是最常见的图片格式,Apache是识别这个格式的,就把它当成了图片来处理,而1.php就成为了它的文件名,gif是它的格式。

接下来我们依次对其进行测试。

到最后一个,7z格式,进行构造:

1.php.7z

测试:

apache漏洞,渗透测试学习,apache,安全

可以看到,成功的爆出了flag,这又是为什么呢?因为Apache不识别7z格式的文件,因此它就会向前解析,解析到了php,这样就成功的上传了一句话木马。

我们成功的上传,通过上传,并结合Apache解析漏洞,最终成功的获取了FLAG。

在本次试验中,我们尝试多种方法对其进行绕过。

  • 首先我们直接上传了php文件,因为白名单中没有php后缀的格式,拒绝上传,因此失败了

  • 我们再次上传了jpg文件,虽然上传成功但并没有用处,因为Apache把它解析成图片了

  • 接下来上传了1.php.gif,这个上传成功了,但一句话木马的代码也没有执行成功,因为Apache识别了gif格式,把它当成了图片处理。

  • 最后我们上传了1.php.7z,这个成功的爆出了flag。

因此我们得出结论,需要成功的执行代码,需要两个条件:

  1. 上传文件后缀必须要在网站白名单之内,否则无法上传。
  2. 上传文件后缀必须是Apache无法识别的后缀。

只有最后一个满足了这两点,因此一句话木马才能上传成功。

因为本实验仅作为测试用,无法连接中国菜刀,在真实的环境中,我们可以将上传木马的地址复制到菜刀里连接,这样就拿到了网站的Shell文章来源地址https://www.toymoban.com/news/detail-733404.html

到了这里,关于Apache解析漏洞实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 反序列化渗透与攻防(三)之Apache Commons Collections反序列化漏洞

    项目地址:Collections – Download Apache Commons Collections 本地复现环境: jdk 1.7.0_80 IDEA Project Structrure——Projrct设置成1.7 IDEA Project Structrure——Moudles设置成1.7 Settings——Build,Execution,Deployment——Compiler——Java Compiler——Target bytecode version设置成7 Apache Commons Collections ≤ 3.2.1 Apache Com

    2023年04月21日
    浏览(56)
  • Apache nginx解析漏洞复现

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

    2024年02月09日
    浏览(41)
  • 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两个解析漏洞复现及防御方法

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

    2024年02月04日
    浏览(36)
  • apache httpd多后缀解析漏洞复现

    一、漏洞描述 Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。 该漏洞和apache版本和php版本无关,属于用户配置不当造成的解

    2024年02月03日
    浏览(38)
  • Apache HTTPD 多后缀解析漏洞复现

    Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件: 其给 .html 后缀增加了media-type,值为 text/html ;给 .cn 后缀增加了语言,值为 zh-CN 。此时,如果用户请求文件 index.cn.html ,他将返回一个中文的html页面。 以上就是Apache多后缀的特性

    2024年02月09日
    浏览(39)
  • 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)
  • 框架安全-CVE 复现&Apache Shiro&Apache Solr漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery 等 1、开发框架-PHP-Laravel-Thinkphp 2、开发框架-Javaweb-St2-Spring 3、开发框架-Python-django-Flask 4、开发框架-Javascript-Nod

    2024年02月05日
    浏览(53)
  • 中间件安全—Apache常见漏洞

      简单介绍一下apache是什么,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将python等解释器编译到服务器中。 1.2.1.漏洞

    2024年01月22日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包