漏洞复现之apache解析漏洞

港控/mmm° 2022-09-07 03:36 379阅读 1赞

文章目录

    • 文件上传-apache解析漏洞
      • 原理
      • 实验内容
      • 漏洞防御
      • 免责声明

文件上传-apache解析漏洞

原理

  • Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断。
  • 比如xxx.php.rar对apache来说
    • rar是不可解析的,所以就会解析成xxx.php。
  • Apache并不认识rar后缀名,对它来说会看成test.php。解析成功。
  • 其实漏洞的关键就是apache的”合法后缀”,不是”合法后缀”的都可以被非法利用

实验内容

1、访问靶场出现如下界面。进入长传作业界面。

在这里插入图片描述

2、该页面发现存在上传点,但是好像是只能传docx。
在这里插入图片描述

3、先尝试长传一个木马。

在这里插入图片描述

4、发现服务器禁止上传一句话木马。
在这里插入图片描述

5、通过页面探测可以发现中间件是apache。那么我们尝试通过apache的解析漏洞来绕过。

  • 直接在后面加上.docx。
  • 因为apache是从后往前解析后缀名的,
  • 当docx无法解析是自然会解析php。

在这里插入图片描述

6、直接上传可以上传成功。

在这里插入图片描述

7、回到首页,直接点击上传的webshell,复制链接到蚁剑。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

漏洞防御

解决方案一

在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为*.php.*的访问权限:

  1. <FilesMatch ".(php.|php3.|php4.|php5.)">
  2. Order Deny,Allow
  3. Deny from all
  4. </FilesMatch>

解决方案二

如果需要保留文件名,可以修改程序源代码,替换上传文件名中的“.”为“_”:

  1. $filename = str_replace('.', '_', $filename);

如果不需要保留文件名,可以修改程序源代码,将上传文件名重命名为时间戳+随机数的格式。

使用module模式与php结合的所有版本 apache存在未知扩展名解析漏洞,使用fastcig模式与php结合的所有版本apache不存在此漏洞。并且,想利用此漏洞必须保证文件扩展名中 至少带有一个“.php”,否则将默认被作为txt/html文档处理

解析漏洞,使用fastcig模式与php结合的所有版本apache不存在此漏洞。并且,想利用此漏洞必须保证文件扩展名中 至少带有一个“.php”,否则将默认被作为txt/html文档处理

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责!

发表评论

表情:
评论列表 (有 0 条评论,379人围观)

还没有评论,来说两句吧...

相关阅读

    相关 fastjson 漏洞

    可能从fastjson“盘古开天地”开始讲,因为我对序列化 反序列化还有那些组件非常不熟悉(谁不搞开发会对这些熟悉)也算复习一下java知识吧,之前好像我自己大二学习java序

    相关 XSS漏洞

    XSS漏洞复现 实验环境DVWA > XSS(cross site script) 跨站脚本。属于代码执行的一种,这里执行的是前端代码,一般是javascript代码。