绕过黑名单检查实现文件上传1 ——合天网安实验室学习笔记
实验链接
文件上传指将客户端数据以文件形式封装,通过网络协议发送到服务器端。在服务器端解析数据,最终在服务端硬盘上作为真实的文件保存。了解文件上传漏洞产生的原因,掌握漏洞的利用方法。
链接:http://www.hetianlab.com/expc.do?ce=1d02daa2-881f-4102-83de-629637072914
同系列文章:绕过黑名单检查实现文件上传2
实验简介
实验所属系列: Web安全
实验对象: 本科/专科信息安全专业
相关课程及专业: 计算机基础、PHP、计算机网络
实验类别: 实践实验类
预备知识
文件上传漏洞简介
通常web站点会有用户注册功能,而当用户登录之后大多数情况下会存在类似头像上传、附件上传之类的功能,这些功能点往往存在上传验证方式不严格的安全缺陷,导致攻击者通过各种手段绕过验证,上传非法文件,这是在web渗透中非常关键的突破口。
文件上传漏洞危害
攻击者绕过上传验证机制上传恶意文件,通过上传的web后门获得整个web业务的控制权,复杂一点的情况是结合web服务器的解析漏洞来获取权限。
文件上传检测流程
通常一个文件以HTTP协议进行上传时,将以POST请求发送至web服务器,web服务器收到请求并同意后,用户与web服务器将建立连接,并传输数据。
实验目的
通过该实验了解文件上传漏洞的基础知识及演示实践。
实验环境
操作系统:
Windows10:部署文件上传漏洞环境及漏洞利用;ip:10.1.1.100
辅助工具:phpStudy、Mozilla Firefox、burpsuite、菜刀
源码与工具请在实验机内下载使用:http://tools.hetianlab.com/tools/T044.zip(包里有菜刀,为避免误杀下载前请先关闭defender)
关闭defender步骤:在桌面搜索栏搜关键字 defender-> 设置-> 实时保护(关闭)即可
本次实验采用github开源项目upload-labs靶场,项目地址:https://github.com/c0ny1/upload-labs
实验步骤
步骤一
任务描述:后缀大小写绕过实现文件上传。
下载源码文件到phpStudy的WWW目录下,在源码文件里创建一个名为upload的文件夹:
PHP版本切换至5.2.17,开启phpStudy;
浏览器访问http://10.1.1.100/upload-labs/index.php,选择Pass-05,点击右上角‘显示源码’,通过源码提示进行文件上传:
可以看出此处对后缀名为. php的文件做了限制,但是没有将后缀进行大小写统一,我们可以通过大小写绕过上传恶意文件。
在桌面写一个简单的一句话木马eval.php:
上传eval.php并用burpsuite抓包,将文件后缀改为.phP,点击‘go’之后在Response处查看响应内容:
burpsuite不会使用的同学可参考我上一篇笔记:burp暴力破解
可以看到文件已经成功上传,但是文件名已经变成了202003081530079359.phP。一些网站会对上传的文件进行文件名随机修改,以防攻击者通过原文件连接webshell,如果不通过burpsuite抓包检测很难发现这一点。
Firefox浏览器访问脚本http://10.1.1.100/upload-labs/upload/202003081530079359.phP,并开启post data:
没有找到HackBar,也是醉了。。。。
尝试用步骤二的方法连接webshell:
成功连接webshell。
步骤二
任务描述:空格绕过实现文件上传。
选择Pass-06,点击右上角‘显示源码’,通过源码提示进行文件上传:
发现还是黑名单检测,但是没有对后缀名进行去空处理,可以通过在后缀名后加空进行绕过。
还是上传之前的PHP一句话木马eval.php并用burpsuite抓包,将文件后缀改为.php+空格,点击‘go’:
在Response处查看响应内容:
此时文件名变为202003081549408284.php
利用菜刀进行webshell连接:
burpsuite不会使用的同学可参考我上一篇笔记:文件上传漏洞
点这个‘+’号;
输入webshell地址:http://10.1.1.100/upload-labs/upload/202003081549408284.php
在后面那个小框框即post数据输入框里输入:test=phpinfo();
点击post数据输入框后面的提交键,即可连接webshell:
连接成功。
步骤三
任务描述:利用Windows系统的文件名特性,通过点绕过实现文件上传。
选择Pass-07,通过查看源码可以发现没有对后缀名进行去‘.’处理,利用Windows系统的文件名特性,会自动去掉后缀名最后的‘.’,通过在文件名后加‘.’进行绕过。
上传eval.php并用burpsuite抓包,将文件名改为‘eval.php.’:
点击‘go’之后在Response处查看响应内容:
虽然在burpsuite里看到的是.php.文件,但是在Windows里保存的会是.php文件。
通过菜刀连接:
此处的‘test’即为@eval($_POST[‘test’]);中的‘test’,脚本类型选择PHP,点击‘添加’:
成功通过菜刀连接。
漏洞修复
将上传的目录设置为不可执行;
判断文件类型:结合MIME Type、后缀检查等方式,推荐文件类型检查使用白名单的方式;
使用随机数改写文件名和文件路径。
答题
绕过黑名单检查实现文件上传1 ——合天网安实验室学习笔记相关推荐
- asp 检查黑名单_十九、绕过黑名单检查实现文件上传2
1. 文件上传漏洞简介 通常web站点会有用户注册功能,而当用户登录之后大多数情况下会存在类似头像上传.附件上传之类的功能,这些功能点往往存在上传验证方式不严格的安全缺陷,导致攻击者通过各种手段绕 ...
- ctf题目php文件上传如何绕过_ctf基本的文件上传与绕过学习
绕过客户端校验前台脚本检测扩展名上传webs hell 原理: 当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何 消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前 ...
- Vue文件上传问题合集
目录 1.背景 2.环境 3.问题集 1)文件上传完成后,文件名的回显 2)文件上传完成前的加载状态 3)文件上传作为必填项 1.背景 在使用Vue+ElementUI进行前端工程开发中,遇到一些文件 ...
- 文件上传 黑名单白名单绕过(上)
前言 文件上传常见验证: 后缀名:类型,文件头 后缀名:黑名单,白名单 文件类型:MIME信息 文件头:内容信息 php与html代码混编 $_FILES[表单上传name]['name'] < ...
- Web安全——文件上传漏洞
文件上传漏洞 绕过JS验证 通过表单上传时,可能存在JS对文件类型.大小的检验 使用BurpSuite剔除相应JS 上传WebShell,使用菜刀连接 <?php @eval($_POST[&q ...
- 文件上传漏洞总结(含原因+防御措施)+白名单+黑名单+内容、头+解析漏洞/修补方案
文件上传漏洞简单总结+白名单+黑名单+内容.头+解析漏洞/修补方案 问题 什么是文件上传漏洞? 危害? 防御措施? 文件上传(验证/绕过)措施? 前端 js类绕过? 后端 黑名单绕过 特殊解析后缀 . ...
- 各种文件上传绕过姿势(一)
各种文件上传绕过姿势 **目录** 各种文件上传绕过姿势 写在前面 一.前端绕过 1.1 防护手段 1.2 绕过方法 二.检查MIME类型 2.1 防护手段 2.2 绕过方法 三.黑名单绕过(一) 3 ...
- Web安全-文件上传漏洞与WAF绕过
文章目录 概述 Webshell简述 上传漏洞原理 上传漏洞绕过 解析漏洞 IIS 6.0解析漏洞 Apache解析漏洞 Nginx解析漏洞 Windows文件命名 客户端检测绕过 更改前端JS代码 ...
- 渗透测试-文件上传之过滤绕过(二)
文件上传之过滤绕过(二) 文件上传实验室第3,4关 文章目录 文件上传之过滤绕过(二) 前言 一.下载upload实验室,进行练习 二.进行后缀名绕过,拿shell 1.更改后缀名.php3绕过 2. ...
最新文章
- 比特币现金成为第二个最有价值的区块链
- 标准情况下的最优方案与魔鬼赛道
- 惯用过程模型_惯用的Ruby:编写漂亮的代码
- andriod 新建 Activity_ Form (详细设置)
- rabbitmq原理 php,Rabbitmq基本原理
- 国产卫星高分四号(GF4)预处理(辐射定标)
- log4j的使用 slf4j简单介绍
- java中Cookie类详解
- vSphere Client 连接ESXi 或者是vCenter 时虚拟机提示VMRC异常的解决办法
- 微电网逆变器VF控制_SIMULINK_模型搭建详解_附加“仿真教程”
- zemax---System Explorer(系统选项)
- 钻井液中PHP是指什么,关于钻井液,你必须知道这些…
- 欧洲批准最强粒子对撞机计划,造价210亿欧元,全长100公里,耗资巨大引争议...
- 人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)
- 在二叉树中找到两个节点的最近公共祖先(C++)
- android音频管理器(AudioManager)
- DNSPod吴洪声:国外域名注册商域名不许国内解析
- 30句感悟人生的格言名言
- android 热更新之腾讯Bugly 及所遇问题的修改总结
- 云原生Istio安装和使用