0x00 前言

今天来讨论文件上传漏洞之后缀名绕过。通常在实际生产过程中,并不会有直接可以上传.php等明显的可直接执行的文件,所以在这里我记录下后缀名绕过的原理和方法。

0x01 绕过方法

首先准备三个文件后缀名分别为.php .php3 .php30 如图:

上传.php的情况下发现,有了黑名单检验,不能上传.php结尾的文件,这是大部分实际情况下会遇到的问题。

但是当我们把.php3和.php30上传时发现都能成功上传,但是发现.php30的文件访问时直接将文件内容以字符显示了出来,所以.php30不能用于后缀名绕过.php3可以。

通过菜刀检验发现.php3可以获取后台目录

0x02 原理

部分服务仅根据后缀、上传时的信息或Magic Header来判断文件类型,此时可以绕过。以Apache为例 会通过通过后缀名判断使用哪种解析器

在apache的配置文件中有这么一段代码

可以看到如果后缀名是.php .php3 4 5 .pht phtml 等 都是指向php解析器的 可以通过这些后缀名绕过后缀名检验

0x03 部分语言可选绕过后缀名

php由于历史原因,部分解释器可能支持符合正则 /ph(p[2-7]?|t(ml)?)/ 的后缀,如 php / php5 / pht / phtml / shtml / pwml / phtm 等 可在禁止上传php文件时测试该类型。

jsp引擎则可能会解析 jspx / jspf / jspa / jsw / jsv / jtml 等后缀,asp支持 asa / asax / cer / cdx / aspx / ascx / ashx / asmx / asp{80-90} 等后缀。

除了这些绕过,其他的后缀同样可能带来问题,如 vbs / asis / sh / reg / cgi / exe / dll / com / bat / pl / cfc / cfm / ini 等。

0x04 防范措施

使用白名单限制上传文件的类型

使用更严格的文件类型检查方式

0x05 END

以上就是后缀名绕过的知识原理了。

php 绕过扩展名检查,文件上传漏洞---后缀名绕过原理相关推荐

  1. Web安全-文件上传漏洞与WAF绕过

    文章目录 概述 Webshell简述 上传漏洞原理 上传漏洞绕过 解析漏洞 IIS 6.0解析漏洞 Apache解析漏洞 Nginx解析漏洞 Windows文件命名 客户端检测绕过 更改前端JS代码 ...

  2. 文件上传漏洞 — 前端JS绕过、MIME类型绕过

    文件上传漏洞的相关讲解基于upload-labs靶场,搭建教程见文件上传漏洞靶机搭建教程 前端JS绕过 浏览器访问http://127.0.0.1/Pass-01/index.php进入靶机pass0 ...

  3. 文件上传漏洞的过滤绕过

    这里总结一下文件上传漏洞的各种过滤机制的绕过.我找到的实验环境是upload-labs. 下载地址是GitHub - Tj1ngwe1/upload-labs: 一个帮你总结所有类型的上传漏洞的靶场 ...

  4. nginx 上传文件漏洞_浅谈文件上传漏洞(其他方式绕过总结)

    前言 上一篇文章简单的介绍了绕过客户端检测,现在总结一下其他方式绕过. 正文 1.1 服务端MIME类型检测绕过 检测原理:用户上传文件时,服务器会获取这个文件的MIME值,与事先设置好的进行比对,如 ...

  5. 渗透测试-文件上传之getimagesize函数绕过

    文件上传之getimagesize函数绕过 文章目录 文件上传之getimagesize函数绕过 前言 一.什么是getimagesize函数 二.文件上传之getimagesize函数绕过 1. g ...

  6. upload-labs文件上传漏洞(Pass-01~Pass-21)

    目录 pass-1(js前端绕过) pass-2(MiMe绕过) pass-3(黑名单绕过) pass-04(.htaccess文件上传) pass-05 pass-06(大小写绕过) pass-07 ...

  7. web渗透之文件上传漏洞

    目录 一.原理 二.利用方式 三.文件上传的风险处 四.文件上传漏洞的危害 五.文件上传漏洞常见的绕过方式 1.前端绕过检测 2.mime类型检测绕过 3.黑名单绕过 (1).相似扩展名 (2).ap ...

  8. 【文件上传漏洞-01】文件上传漏洞概述、防御以及WebShell基础知识补充

    目录 1 文件上传漏洞概述 2 文件上传漏洞防御.绕过.利用 2.1 黑白名单策略 3 WebShell基础知识补充 3.1 WebShell概述 3.2 大马与小马 1 文件上传漏洞概述 概述:文件 ...

  9. 文件上传漏洞-原理篇

    目录 第1章 文件上传漏洞基础 1.1 漏洞概述 1.2 漏洞成因 1.3 漏洞危害 1.4 漏洞利用姿势 第2章 文件上传漏洞检测与绕过 2.1 前端检测和绕过 2.2 服务器端检测和绕过 第3章 ...

最新文章

  1. 使用NeMo快速完成NLP中的信息抽取任务 | 英伟达NLP公开课
  2. php extname shared,PHP: 编写第一个PHP扩展
  3. html5的canvas元素使用,HTML5canvas元素概念及使用方法介绍
  4. 你见过的MCU最高GPIO翻转频率是多少?
  5. iOS事件的响应和传递机制
  6. python小孩的报酬_孩子做了家务,家长该不该支付“酬劳”呢?
  7. 【codeforces 798B】Mike and strings
  8. 数据库中union和union all的区别
  9. 全球高校CS实力最新排行:清华AI界第二,中科院视觉领域最强
  10. Kotlin教程 - 收藏集 - 掘金
  11. android.appwidget-AppWidgetManager
  12. java开发之权限管理详解
  13. instagram 爬虫 2021,下载可用
  14. java一行代码实现集合写入Excel表格生成数据
  15. Second《C++ Primer》中文第四版
  16. DB2活动日志占用过大
  17. adb和frida的一点简单使用记录
  18. ps水花飞溅效果制作
  19. 怎么搭建一个高性能服务器
  20. LCCUP‘22秋季编程大赛(个人赛)总结

热门文章

  1. ❤️终于有人把进程概念讲清楚了❤️
  2. 2017android 最强旗舰,2017年哪款手机续航表现最强劲?2017旗舰手机续航排行榜出炉...
  3. C/C++面试总结必考题 2
  4. 用三个步骤在视频里随机抽帧某一画面保存为图片
  5. Python爬取11 万 Java 程序员信息竟有这些重大发现!
  6. 宝藏又小众的立春海报设计素材网站分享
  7. ajax js 轮询请求,ajax的轮询和长轮询
  8. 谁来拯救他们-可爱的海豚
  9. 【Manthan, Codefest 18 (rated, Div. 1 + Div. 2) A】Packets
  10. 第10章 MySQL 创建数据表教程