文件上传漏洞的过滤绕过
这里总结一下文件上传漏洞的各种过滤机制的绕过。我找到的实验环境是upload-labs。
下载地址是GitHub - Tj1ngwe1/upload-labs: 一个帮你总结所有类型的上传漏洞的靶场
界面还是很美观的如图1-1,总共19个关卡。
图1-1
这里说一下我环境配置过程中遇到的一个小问题,就是网站的根地址设置。如图1-2
图1-2
记得把config.php文件中的$site_root改成自己的目录,不然这个美丽的界面是加载不出来的,这个是我自己更改过后的模样。另外如果文件执行时报错说缺少什么文件可能是你下载过程中遗漏了某些文件,可以重新下载一遍。(为什么要提一句这个?因为我经历过)
进入正题,其实文件上传早就学过的只是这次写个博客总结一下吧。
一、客户端过滤(js本地过滤)
(1)关闭浏览器执行js的功能,经过验证切实有效。火狐浏览器为例子,修改设置以后记得刷新页面以后才会有效。配置界面如图2-1
如图2-1
另外在某些禁止复制内容的网站上关闭js就可以实现内容复制了。
(2)burp抓包修改后缀名
如图2-2所示,把php文件的后缀名修改成合服验证机制的后缀名,然后通过burp抓包修改后缀名,这样就可以实现绕过。
图2-2
二、MIME类型检测绕过
如图3-1,上传一个php文件但在burp中将选中字段content-type的值修改为image/jpeg
图3-1
如果不知道文件类型对应的特征值可以把文件通过相同方式上传查看content-type的值
三、黑名单绕过
(1)简单的黑名单绕过,比如通过区分大小写;
(2)在文件后缀加上空格字符,在windows环境下加入的这些字符会被自动过滤掉,但是在Linux和unix上不支持;
(3)空字符截断如%00,ox00;char(0)
(4)IIS默认解析解析.asp|.cdx|.asa等文件,当过滤中不包含这类文件时候可以绕过黑名单执行代码。
(5)也可以尝试修改文件后缀名或者利用服务器由于管理员的不合理配置造成的漏洞绕过上传过滤,但是修改文件后缀以后想要文件能正常按照执行则需要一些特定的配置。比如要解析php5文件后缀的文件为php文件执行需要配置httpp.conf中有AddType application/x-httpd-php .php .phtml .phps .php5 .pht这条语句。这条语句的意义就是让phtml、phps、php5、pht这些文件当作php文件解析。主动修改配置可以通过.htaccess文件
简单介绍.htaccess:在文件特定目录下作用于该目录和子目录中可以配置文件目录下文件以何种格式解析的文件。利用AddType 指令将特定扩展名文件映射为php文件类型。如指定php5为php文件解析执行。
(6)在没有禁止.htaccess文件的情况下,可以上传.htaccess文件来修改apache的配置
比如将.htaccess文件内容书写为下:
<FilesMatch "muma.jpg(即将上传的文件名)">
SetHandler application/x-httpd-php
</FilesMatch>
这段代码的意义就是将muma.jpg这个文件当作php文件解析。这样就绕过了黑名单检测、、、、
四、白名单绕过
(1)利用iis中间件解析漏洞
a.iis中间件默认能够解析.asp .cdx .asa .cer文件,所以利用这个特性来绕过白名单
b.在iis5.x到6.x版本中,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。
c.在IIS6.0下,分号后面的不被解析,如1.asp;jj那么服务器只会任务这是隔asp文件
(2)apache解析漏洞
1.apache解析文件名是从右向左解析的,如muma.php.aa.bb服务器先解析bb这个后缀,无法识别再解析aa这个后缀,一次类推一直到解析到php识别出是php文件所以正常解析。
2.另外可以通过修改apache配置来实现绕过比如利用AddType application这条配置来实现一些文件后缀名被当作指定文件解析,例如可以指定.jpg文件被当作php文件执行。
3.制作图片木马,例如使用copy命令。
将muma.php写入muma.jpg 生成一个新文件mumaP.jpg “/”后的b和a表示的文件类型,b是二进制文件,a是ascii码文件。
用记事本打开生成的文件可以发现代码。
随后触发该代码需要在源文件中加入
include '文件路径';
前面的乱码是图片文件的内容,输出的phpinfho()是加入的代码显示出来的
文件上传漏洞要想要成功的利用上传的文件实现攻击目的,攻击者需要知道文件上传的路径和上传以后的文件名。
文件上传漏洞的过滤绕过相关推荐
- Web安全-文件上传漏洞与WAF绕过
文章目录 概述 Webshell简述 上传漏洞原理 上传漏洞绕过 解析漏洞 IIS 6.0解析漏洞 Apache解析漏洞 Nginx解析漏洞 Windows文件命名 客户端检测绕过 更改前端JS代码 ...
- 文件上传漏洞 — 前端JS绕过、MIME类型绕过
文件上传漏洞的相关讲解基于upload-labs靶场,搭建教程见文件上传漏洞靶机搭建教程 前端JS绕过 浏览器访问http://127.0.0.1/Pass-01/index.php进入靶机pass0 ...
- php 绕过扩展名检查,文件上传漏洞---后缀名绕过原理
0x00 前言 今天来讨论文件上传漏洞之后缀名绕过.通常在实际生产过程中,并不会有直接可以上传.php等明显的可直接执行的文件,所以在这里我记录下后缀名绕过的原理和方法. 0x01 绕过方法 首先准备 ...
- nginx 上传文件漏洞_浅谈文件上传漏洞(其他方式绕过总结)
前言 上一篇文章简单的介绍了绕过客户端检测,现在总结一下其他方式绕过. 正文 1.1 服务端MIME类型检测绕过 检测原理:用户上传文件时,服务器会获取这个文件的MIME值,与事先设置好的进行比对,如 ...
- 文件上传漏洞-原理篇
目录 第1章 文件上传漏洞基础 1.1 漏洞概述 1.2 漏洞成因 1.3 漏洞危害 1.4 漏洞利用姿势 第2章 文件上传漏洞检测与绕过 2.1 前端检测和绕过 2.2 服务器端检测和绕过 第3章 ...
- web渗透之文件上传漏洞
目录 一.原理 二.利用方式 三.文件上传的风险处 四.文件上传漏洞的危害 五.文件上传漏洞常见的绕过方式 1.前端绕过检测 2.mime类型检测绕过 3.黑名单绕过 (1).相似扩展名 (2).ap ...
- fckeditor漏洞_三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御
一.编辑器漏洞 1.编辑器 编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档. 编辑器通常分为两种情况: (1) 不需要后台验证,可以直接在前台访问且 ...
- 【文件上传漏洞-01】文件上传漏洞概述、防御以及WebShell基础知识补充
目录 1 文件上传漏洞概述 2 文件上传漏洞防御.绕过.利用 2.1 黑白名单策略 3 WebShell基础知识补充 3.1 WebShell概述 3.2 大马与小马 1 文件上传漏洞概述 概述:文件 ...
- kindeditor在服务器上上传图片显示叉叉,什么原因?,kindeditor=4.1.5 文件上传漏洞利用...
kindeditor<=4.1.5 文件上传漏洞 - Kindeditor <=4.1.5 file upload vulnerability and use 漏洞存影响版本:小于等于4. ...
最新文章
- 不懂技术系列--如何快速调试html5页面/手机页面
- 分布式系统 缓存穿透与失效时的雪崩效应
- Java基础-我所理解的泛型
- oracle Schema Object Dependencies
- gzip、bzip2和tar
- uniapph5授权成功后返回上一页_被成功验证过的的7条选品思路(收藏)
- C~K招亲_JAVA
- POJ 2227 The Wedding Juicer——堆的应用——Pku2227
- 深入剖析阿里云推荐引擎——新架构,新体验
- c语言怎样获得函数内参数的值_C语言可变参数函数的实现原理
- mysql fm999990.99999_Oracle如何显示小数点前面的0
- laravel的foreach
- 软件工程 speedsnail 第二次冲刺1次
- 超详细目标检测,yolo3训练自己的数据集
- Map ,Reduce
- vue 中基于drag drop拖放实现左菜单和右画布的功能
- 想学python网课哪个好过_求问一下jrs们,零基础学python哪个网课好?
- 数列求和-加强版(C语言)
- 证明:模n加法满足结合律
- Kali中MSF利用永恒之蓝(复现、演示)