【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞
文章目录
- 一、实验目的:
- 二、工具:
- 三、实验环境:
- 四、漏洞说明:
- 1. `nginx解析漏洞`(实验环境:`Nginx1.4.6` ):
- 1.1 原理:
- 1.2 漏洞形式:
- 1.3 另外两种解析漏洞:
- 2. IIS7.0 | 7.5解析漏洞:
- 2.1 原理:
- 2.2 漏洞形式:
- 五、环境准备:
- 1. 安装 XAMPP环境:
- 2. 安装IIS服务器:
- 2.1 安装步骤:
- 2.2 验证安装成功与否:
- 2.3 验证能否正常执行asp的脚本文件:
- 3. 环境配置:
- 3.1 配置:
- 3.2 验证PHP脚本能否执行:
- 六、实验步骤:
- 七、漏洞防御:
一、实验目的:
1、通过本次实验学习漏洞产生的成因。
2、通过搭建漏洞环境,学习绕过技巧。
二、工具:
火狐/谷歌浏览器
三、实验环境:
靶 机: windows Sever 2008 R2 x64虚拟机:
192.168.15.142
xampp-win32-5.6.28-1-VC11-installer集成环境
IIS7.0服务器
攻击机: 物理机
点我下载XAMPP安装包
提取码:jake
四、漏洞说明:
1. nginx解析漏洞
(实验环境:Nginx1.4.6
):
1.1 原理:
Nginx
拿到文件路径(更专业的说法是URI
)/test.jpg/test.php
后,一看后缀是.php
,便认为该文件是php文件
,转交给php
去处理。php
一看/test.jpg/test.php
不存在,便删去最后的/test.php
,又看/test.jpg
存在,便把/test.jpg
当成要执行的文件了,又因为后缀为.jpg
,php
认为这不是php文件
,于是返回Access denied
。
这其中涉及到php
的一个选项:cgi.fix_pathinfo
,该值默认为1
,表示开启。开启这一选项PHP
可以对文件路径进行修理
。
举个例子,当php
遇到文件路径/1.jpg/2.txt/3.php
时,若/1.jpg/2.txt/3.php
不存在,则会去掉最后的/3.php
,然后判断/1.jpg/2.txt
是否存在,若存在,则把/1.jpg/2.txt
当做文件/1.jpg/2.txt/3.php
,若/1.jpg/2.txt
仍不存在,则继续去掉/2.txt
,以此类推。
1.2 漏洞形式:
www.xxxxx.com/UploadFiles/image/1.jpg/1.php
1.3 另外两种解析漏洞:
www.xxxxx.com/UploadFiles/image/1.jpg%00.php
www.xxxxx.com/UploadFiles/image/1.jpg/%20\0.php
2. IIS7.0 | 7.5解析漏洞:
2.1 原理:
IIS7.5
IIS7.0
的漏洞与nginx
的类似,都是由于php配置文件
中,开启了cai.fix_pathinfo
,而这并不是nginx或者IIS7.0 | 7.5本身的漏洞
。
2.2 漏洞形式:
www.xxxxx.com/UploadFiles/image/1.jpg/1.php
五、环境准备:
1. 安装 XAMPP环境:
安装XAMPP环境原因:
主要是为了能够在IIS服务器里面使用它的php模块。
1、双击安装包,进行安装,后面安装按照图片操作即可:
这里默认安装在C:/盘,可自定义:
点击Next
后,会弹出浏览器,关闭即可:
2、安装图中操作即可:
3、在这个页面等待安装完毕,安装完成退出即可:
4、出现这个页面,会让我们选择安装环境语言,默认英语即可:
5、出现下面情况,按照图中操作即可
6、出现下面弹窗,退出即可,至此安装完毕:
2. 安装IIS服务器:
2.1 安装步骤:
1、点击任务栏的"服务器管理"进入以下页面,安装下图操作即可:
2、这里需要选择安装的服务器,根据自己需要进行安装,这里只安装IIS服务器
,接着按照下图操作即可:
3、选择安装网站的一些功能服务,安装下图操作即可:
4、出现以下页面,等待安装结束后,选择关闭即可,至此IIS服务器
安装完毕:
5、查看网站主目录位置:
2.2 验证安装成功与否:
1、验证安装成功与否,查看ip:
2、访问服务器,出现以下页面说明安装完成,可以正常访问:
2.3 验证能否正常执行asp的脚本文件:
1、删除原有的文件及目录:
2、给wwwroot
目录进行授权,操作如下即可:
3、按照下图操作即可,然后一直确定退出:
4、在网站主目录下,创建一个1.asp
的脚本文件:
内容:
<%=now()%>
5、在物理机里面访问这个页面,可以正常执行:
3. 环境配置:
3.1 配置:
1、给IIS服务器添加PHP模块,让它可以正常执行PHP脚本,操作步骤如下:
2、后退,进入主页面,设置FastCGI模块
:
3、选中PHP配置文件:
4、确定,退出即可,至此,IIS服务器已经可以正常执行PHP脚本文件:
3.2 验证PHP脚本能否执行:
1、创建一个1.php脚本文件:
内容:
<?php phpinfo(); ?>
2、访问1.php页面,可以正常解析为php脚本文件:
3、通过以上操作,就是为了让网站在遇到php脚本文件时,服务器把php脚本交给fastcgi模块处理,找到xmapp中的php模块,让网站能够正常解析php代码。
六、实验步骤:
1、在网站主目录放一个图片马我a.jpg
:
内容:
<?php phpinfo(); ?>
2、正常访问,默认以图片查看器的方式进行打开,没有解析为php脚本
:
3、在后面随便添加一个/*.php
,这里是加了一个/qwer.php
,被解析为了php脚本
文件:
IIS服务器解析漏洞处理过程:
当IIS服务器
遇到文件路径/a.jpg/qwer.php
时,若/a.jpg/qwer.php
不存在,则会去掉最后的/qwer.php
,然后判断/a.jpg
是否存在,该目录下/a.jpg
存在,由于服务器配置不当,造成了服务器把a.jpg
当做 了php脚本
执行了。
七、漏洞防御:
1、通过下面设置,进行防御IIS7.0
IIS7.5
的解析漏洞:
2、通过上面设置,再次访问,发现已经不能再解析了:
【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞相关推荐
- 【文件上传绕过】——后端检测_文件的扩展名检测漏洞
文章目录 一.漏洞说明: 二.工具: 三.实验环境: 四.实验目的: 五.检测方法: 1. 黑名单: 2. 白名单: 六.绕过方式: 1. 白名单绕过: 1.1 解析漏洞: 1.2 截断上传: 原理: ...
- 文件上传绕过姿势整理
文件上传绕过姿势整理 WAF绕过 安全狗绕过 1.绕过思路:对文件的内容,数据.数据包进行处理. 关键点在这里Content-Disposition: form-data; name="fi ...
- 各种文件上传绕过姿势(一)
各种文件上传绕过姿势 **目录** 各种文件上传绕过姿势 写在前面 一.前端绕过 1.1 防护手段 1.2 绕过方法 二.检查MIME类型 2.1 防护手段 2.2 绕过方法 三.黑名单绕过(一) 3 ...
- 文件上传绕过各种姿势
漏洞简介 文件上传,顾名思义就是上传文件的功能行为,之所以会被发展为危害严重的漏洞,是程序没有对访客提交的数据进行检验或者过滤不严,可以直接提交修改过的数据绕过扩展名的检验.文件上传漏洞是漏洞中最为简 ...
- 文件上传绕过安全狗WAF实战
今天继续给大家介绍渗透测试相关知识,本文主要是文件上传绕过安全狗WAF实战. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未 ...
- 文件上传绕过WAF之Fuzz测试
今天继续给大家介绍渗透测试相关知识,本文主要内容是文件上传绕过WAF之Fuzz测试. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调: ...
- 【甄选靶场】Vulnhub百个项目渗透——项目十八:pwnlab_init(LFI本地文件包含,PHP伪协议,文件上传绕过,逆向分析)
Vulnhub百个项目渗透 Vulnhub百个项目渗透--项目十八:pwnlab_init(LFI本地文件包含,PHP伪协议,文件上传绕过,逆向分析) 靶场地址
- php文件上传漏洞waf,文件上传绕过WAF
文件上传 文件上传实质上还是客户端的POST请求,消息主体是一些上传信息.前端上传页面需要指定 enctype为multipart/from-data才能正常上传文件. 此处不讲各种中间件解析漏洞只列 ...
- 最新版安全狗(v4.0.2.665) 文件上传 绕过
0x00 前言: 继续上次 bypass 安全狗,这次测试的是 bypass 最新版安全狗来上传 php 一句话 0x01 实验环境: win7 sp1 + phpstudy v8.1(apache ...
最新文章
- PTA—输出全排列 (20分) 递归回溯思想
- git 设置别名大全( git alias)
- mysql 硬盘空间不够_mysql磁盘空间不足的查排
- 爬虫 404 try_无所不能的Python之爬虫那点事儿
- 一、详细Python3.8+PyQt5+pyqt5-tools+Pycharm配置
- html文本最小长度,CSS中处理不同长度文本的几种小技巧
- 面向大数据处理的数据流编程模型和工具综述
- 互联网服务应用协议设计
- RabbitMQ connection.CreateModel() 分析
- Pandas系列(十五)stack和pivot实现数据透视
- Linux电源管理-wakelock
- 操作系统课程设计--文件系统
- 企业全链路数字化营销一站式解决方案
- 基于html5的城市公交查询系统,本科毕业论文 城市公交查询系统
- MapReduce算法(将数据按照 /OutputData/城市名称/日期(YYYY-MM-dd)/类型(固定Gn)/imsi.txt )
- 和平精英亚服服务器信号差,和平精英延迟高怎么办 网络卡顿解决方法
- Linux ping命令
- 这款App连夜被下架!
- matlab图像处理常用函数大全
- 微信小程序视频上传组件直接上传至阿里云OSS