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 文件上传靶场通关攻略(上)的更多相关文章

  1. Upload-labs 文件上传靶场通关攻略(下)

    Upload-Labs靶场攻略(下) Pass-11 GET型传参,上传目录可设置,考虑00截断,在/upload/后添加1.php%00,即可上传 Pass-12 POST型传参,上传目录可设置,P ...

  2. Web文件上传靶场 - 通关笔记

    Web应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...

  3. 从本地向 Github 上传项目步骤攻略(快速上手版)

    最近想把之前自己做的一些好玩的项目共享到Github,网上找了一圈上传教程,都感觉写的太深奥.复杂,云里雾里,特把自己的方法纪录如下: PS:这种方式一般适用于:开始做项目时,没有直接在github上 ...

  4. jspSmartUpload上传下载全攻略

    http://blog.itpub.net/92037/viewspace-788900/

  5. php 文件上传简单类---限制仅上传jpg文件

    php 文件上传代码,限制只能上传jpg格式文件,也可以自行添加其它扩展名的文件. <?php /* * 图片上传类 仅限JPG格式图片 * edit by www.jbxue.com at 2 ...

  6. ThinkPHP 文件上传到阿里云OSS上(干货)

    参考:http://www.thinkphp.cn/extend/789.html 1.前往阿里云github下载SDK包:https://github.com/aliyun/aliyun-oss-p ...

  7. MVC文件上传01-使用jquery异步上传并客户端验证类型和大小

    本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("F ...

  8. 文件上传三:base64编码上传

    介绍三种上传方式: 文件上传一:伪刷新上传 文件上传二:FormData上传 文件上传三:base64编码上传 Flash的方式也玩过,现在不推荐用了. 优点: 1.浏览器可以马上展示图像,不需要先上 ...

  9. MVC文件上传03-使用Request.Files上传多个文件

    本篇体验在控制器方法中使用controllerContext.HttpContext.Request.Files上传多个文件.兄弟篇为: MVC文件上传01-使用jquery异步上传并客户端验证类型和 ...

随机推荐

  1. Unix、Linux 软件包管理快速入门对照:apt、brew、pkg、yum

    请访问原文链接:https://sysin.org/blog/apt-brew-pkg-yum/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin ...

  2. 浅读tomcat架构设计和tomcat启动过程(1)

    一图甚千言,这张图真的是耽搁我太多时间了: 下面的tomcat架构设计代码分析,和这张图息息相关. 使用maven搭建本次的环境,贴出pom.xml完整内容: <?xml version=&qu ...

  3. SpringBoot | 1.2 全注解下的Spring IoC

    前言 在学习SpringBoot之前,有几个Spring的重要的基础概念需要提一下,SpringBoot对这些基础概念做进一步的封装,完成自动配置.首先就是Spring的控制反转IOC,由于Sprin ...

  4. Java:Java实例化(new)过程

    实例化过程(new) 1.首先去JVM 的方法区中区寻找类的class对象,如果能找到,则按照定义生成对象,找不到 >>如下2.所示 2.加载类定义:类加载器(classLoader)寻找 ...

  5. php解决约瑟夫环

    今天偶遇一道算法题 "约瑟夫环"是一个数学的应用问题:一群猴子排成一圈,按1,2,-,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把 ...

  6. 在CentOS7环境下部署weblogic集群

    一)环境准备 服务器操作版本系统 CentOS7 weblogic版本包 weblogic1036_generic.jar(weblogic11g) JDK jdk-8u191-linux-x64.t ...

  7. P4827「国家集训队」 Crash 的文明世界

    「国家集训队」 Crash 的文明世界 提供一种不需要脑子的方法. 其实是看洛谷讨论版看出来的( (但是全网也就这一篇这个方法的题解了) 首先这是一个关于树上路径的问题,我们可以无脑上点分治. 考虑当 ...

  8. 深度解析 Lucene 轻量级全文索引实现原理

    一.Lucene简介 1.1 Lucene是什么? Lucene是Apache基金会jakarta项目组的一个子项目: Lucene是一个开放源码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎, ...

  9. 我的第一个MVC程序(SpringMVC的环境搭建与实例运用)

    做一个完整点的mvc框架的搭建流程吧 Spring包含jar包下载 SpingMVC是基于Spring的一种关于web的解决方案,所以,使用springMVC,首先要准备有关Spring的一些jar包 ...

  10. [刘阳Java]_Spring AOP入门_第7讲

    AOP技术个人认为是能够完善(改善)面向对象编程OOP.为什么这么说,我们得先从AOP的概念说起,然后通过一段简单的例子加以佐证.这样子大家就可以慢慢地了解AOP 1. AOP概念 AOP为Aspec ...