Upload-labs 文件上传靶场通关攻略(上)
Upload-labs 文件上传靶场通关攻略(上)
文件上传是Web网页中常见的功能之一,通常情况下恶意的文件上传,会形成漏洞。
逻辑是这样的:用户通过上传点上传了恶意文件,通过服务器的校验后保存到指定的位置。
当用户访问已经上传成功的文件时,上传的Web脚本会被Web容器进行解析,从而对网站造成危害。
今天我们来研究下Upload-labs靶场的每关不同的攻略,从而对文件上传进行深入的了解。
Pass-1
前端JS验证
编写一句话木马文件a.php,并将文件名修改尾a.jpg。上传后抓包修改为a.php。
即可上传成功。
Pass-2
MIME验证,Burp抓包,修改Conetent-type为image/png.
即可上传成功
Pass-3
禁止了php,jsp,asp等后缀。大小写绕过失败,修改为php5后缀。
即可上传成功
Pass-4
先上传.htaccess系统解析文件进行重写
内容如下
<FileMatch "1.jpg">
SetHandler application/x-httpd-php
</FileMatch>
再上传包含一句话木马的1.jpg,此时网站将把1.jpg当作php文件进行解析执行。
Pass-5
大小写绕过,修改后缀为.Php5
即可上传成功
Pass-6
空格绕过,空格编码后形成00,进行绕过。
在1.php Burp抓包尾椎添加空格即可。
Pass-7
尾缀.添加.,即在1.php后添加.,修改为1.php.进行绕过
Pass-8
尾缀添加::$DATA,形成NTFS写入文件的效果,进行绕过
Pass-9
尾缀添加. .,类似于双写绕过,只过滤了一次.和一次的空格。
Pass-10
直接上传发现1.php 被修改为1. ,对敏感词汇进行了替换
尝试进行双写绕过将1.php,修改为1.pphphp,进行绕过
总结:前十关我们可以总结如下几种文件上传绕过的方式。
1.前端JS验证:Burpsuite抓包修改尾缀
2.MIME验证:Burpsuite抓包修改Content-type
3.黑名单验证:Burpsuite抓包进行文件尾缀的爆破
4.解析文件可重写:重写解析文件,将JPG文件解析为PHP文件进行执行
5.大小写绕过、双写绕过
6.尾缀添加点,空格,::$DATA进行截断绕过
Upload-labs 文件上传靶场通关攻略(上)的更多相关文章
- Upload-labs 文件上传靶场通关攻略(下)
Upload-Labs靶场攻略(下) Pass-11 GET型传参,上传目录可设置,考虑00截断,在/upload/后添加1.php%00,即可上传 Pass-12 POST型传参,上传目录可设置,P ...
- Web文件上传靶场 - 通关笔记
Web应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...
- 从本地向 Github 上传项目步骤攻略(快速上手版)
最近想把之前自己做的一些好玩的项目共享到Github,网上找了一圈上传教程,都感觉写的太深奥.复杂,云里雾里,特把自己的方法纪录如下: PS:这种方式一般适用于:开始做项目时,没有直接在github上 ...
- jspSmartUpload上传下载全攻略
http://blog.itpub.net/92037/viewspace-788900/
- php 文件上传简单类---限制仅上传jpg文件
php 文件上传代码,限制只能上传jpg格式文件,也可以自行添加其它扩展名的文件. <?php /* * 图片上传类 仅限JPG格式图片 * edit by www.jbxue.com at 2 ...
- ThinkPHP 文件上传到阿里云OSS上(干货)
参考:http://www.thinkphp.cn/extend/789.html 1.前往阿里云github下载SDK包:https://github.com/aliyun/aliyun-oss-p ...
- MVC文件上传01-使用jquery异步上传并客户端验证类型和大小
本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("F ...
- 文件上传三:base64编码上传
介绍三种上传方式: 文件上传一:伪刷新上传 文件上传二:FormData上传 文件上传三:base64编码上传 Flash的方式也玩过,现在不推荐用了. 优点: 1.浏览器可以马上展示图像,不需要先上 ...
- MVC文件上传03-使用Request.Files上传多个文件
本篇体验在控制器方法中使用controllerContext.HttpContext.Request.Files上传多个文件.兄弟篇为: MVC文件上传01-使用jquery异步上传并客户端验证类型和 ...
随机推荐
- Zabbix5.0微信报警
3.1.注测企业微信: 3.2.企业微信注册成功后进入后台管理: 3.3.添加一个部门,并记住部门id: #我这里添加的子部门ID为2 3.4.添加一个用户到上面创建的部门里面(这里采取直接将管理员添 ...
- 【PC桌面软件的末日,手机移动端App称王】写在windows11支持安卓,macOS支持ios,龙芯支持x86和arm指令翻译
面对这场突如其来的变革,作为软件开发者,应该如何选择自己今后的发展方向?桌面软件开发领域还有前景吗? 起源 自从苹果发布m1处理器,让自家Mac支持IOS移动端app运行之后,彻底打破了移动端app和 ...
- solidity 小案例 收费站
solidity IDE下载地址 https://pan.baidu.com/s/1cY8VgDqB9Wt9VzK-Nocbyw 代码案例: pragma solidity ^0.4.0; //创建合 ...
- ACdream 1007 a+b 快速幂 java秒啊,快速幂 避免 负数移位出错
a + b ( sigma (ai^x) ) % mod 1 import java.util.*; 2 import java.math.*; 3 import java.io.*; 4 p ...
- 企业该选择什么样的CRM系统
不论您是需要CRM系统来优化业务流程,还是准备更换一款新的CRM系统,在这之前都应该先明确企业的需求,并了解CRM的哪些功能能够对企业有所帮助.例如,企业的管理者想了解每个销售人员的业绩情况,那么就应 ...
- Docker:Docker常用命令
docker信息 ##查看docker容器版本 docker version ##查看docker容器信息 docker info ##查看docker容器帮助 docker --help 镜像列表 ...
- 面试:Spring面试知识点总结
Spring知识点总结 1. 简介一下Spring框架. 答:Spring框架是一个开源的容器性质的轻量级框架.主要有三大特点:容器.IOC(控制反转).AOP(面向切面编程). 2. Spring框 ...
- inux下查看最消耗CPU、内存的进程
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...
- 在Ubuntu 16.04中搭建RobotFramework环境
1.搭建RF环境 2.安装RF相关库 3.查看RF case 4.设置环境变量 相关知识点:pip --proxy=http://xx.xx.xx.xx:xx install 包名,使用pip的-- ...
- Qt绘图浅析与实例
1. Qt5位置相关函数 Q提供了很多关于获取窗体位置及显示区域大小的函数,如x().y()和pos().rect().size().geometry()等,统称为"位置相关函数" ...