CTF---Web入门第二题 上传绕过
上传绕过分值:10
- 来源: Justatest
- 难度:易
- 参与人数:5847人
- Get Flag:2272人
- 答题人数:2345人
- 解题通过率:97%
bypass the upload
格式:flag{}
解题链接:http://ctf5.shiyanbar.com/web/upload
原题链接:http://www.shiyanbar.com/ctf/1781
【解题报告】
这是我入门Web开始写的第二道题,这道题有点意思,它的题目意思是要上传一个文件,具体要上传什么文件题目也没说,我们就随意上传一个txt文本文档,点submit,题目会显示"不被允许的文件类型,仅支持上传jpg,gif,png后缀的文件"的字样,这时我们就新建一个1.jpg文件,然后点击submit上传,然后会有以下提示信息:
,这不是在逗我玩嘛,怎么又上传php文件啊,你再新建一个1.php文件上传,会跳出类似的要上传.jpg文件的字样,这时候你就会发现问题了,什么问题呢?这句话前后是矛盾的~~~
题目名字为上传绕过,意思就是要绕过这个提示的界面,这里涉及到一个很有意思的知识,叫做00截断,什么是00截断呢?在这里我简单给大家介绍一下~~~
00截断是文件后缀名就一个%00字节,可以截断某些函数对文件名的判断,在许多语言函数中,处理字符串的函数中0x00被认为是终止符。
例如,网站上传函数处理xxx.php%00.jpg时,首先后缀名是合法的jpg格式,可以上传,在保存文件时,遇到%00字符,丢弃后面的jpg,文件后缀最终保存的后缀名为xxx.php
例如:head.php.jpg,head.php_.jpg,head.php%00.jpg
我们如何做这题呢?首先我们要用到一个截断工具,Burp Suite,同时我们需要一个代理工具,浏览器火狐的一个代理,打开火狐浏览器,火狐浏览器代理需要设置端口,使得端口和我们Burp Suite设置的端口要一致,我们设置端口为8080,这样网站的包就会被我们抓取下来~~~
然后我们开启Intercept,点击文件上传,这时我们会发现页面没有跳转,说明这个包已经被我们拦截下来了,然后我们再把这个包发送到Repeater里面去,对这个包进行一个分析,然后这时我们可以用到00截断,自己手动构造一个上传的文件,1.php .jpg,然后我们去Hex查看,发现只需要把20改为00,再回到Raw,发现空格已经变成一个框框,框框表示一个空字节,这时我们只需要Go一下,发送文件过去,然后我们可以看到如下界面:

恭喜你获得flag一枚,咱们只需要提交这个flag就可以完成此题

这题就是运用到一个上传的思想,
CTF---Web入门第二题 上传绕过的更多相关文章
- [原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)
简介 原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn 考察知识点:上传绕过..user.ini 线上平台:h ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- 实验吧—Web——WP之 上传绕过
我们先上传一个png文件,发现他说必须上传后缀名为PHP的文件才可以,那么,我们尝试一下,PHP文件 但是他又说不被允许的文件类型 在上传绕过里最有名的的就是00截断,那么我们就先要抓包 在这里我们需 ...
- web安全之文件上传漏洞攻击与防范方法
一. 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行.这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等.这种攻击方式是最为直接和有效 ...
- 基于 java 【Web安全】文件上传漏洞及目录遍历攻击
前言:web安全之文件上传漏洞,顺带讲一下目录遍历攻击.本文基于 java 写了一个示例. 原理 在上网的过程中,我们经常会将一些如图片.压缩包之类的文件上传到远端服务器进行保存.文件上传攻击指的是恶 ...
- asp.net (web)选择文件夹 上传文件
1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...
- WEB安全性测试之文件上传漏洞
1.漏洞描述:文件上传漏洞,是指可以利用WEB上传一些特定的文件包含特定代码如(<?php phpnfo;?> 可以用于读取服务器配置信息.上传成功后可以点击) 上传漏洞是指用户上传了一个 ...
- [.ashx檔?泛型处理例程?]基础入门#2....FileUpload上传前,预览图片(两种作法--ashx与JavaScript)
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/20/ashx_beginner_02_fileupload_picture_p ...
- JAVA Web 之 struts2文件上传下载演示(二)(转)
JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...
随机推荐
- 【java】java.util.Arrays类常用方法
package Arrays类; import java.util.Arrays; public class TestArrays { public static void main(String[] ...
- 代码生成利器:IDEA 强大的 Live Templates(转)
代码生成利器:IDEA 强大的 Live Templates - 文章 - 伯乐在线http://blog.jobbole.com/110607/ 前言 Java 开发过程经常需要编写有固定格式的代码 ...
- dispatch_sync和dispatch_async的区别
dispatch_sync 线程同步.dispatch_async线程异步 比如 //同步 dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE ...
- 解决WebService/WCF调用时报错"服务器提交了协议冲突. Section=ResponseStatusLine"问题
今天更新了一个网站,新增了一个页面,调用WebService,在测试环境好好的,部署到正式环境后就莫名报错: 服务器提交了协议冲突. Section=ResponseStatusLine 网上查了好多 ...
- Node: 如何控制子进程的输出
大家知道,在一个node程序中,如果当前进程想要生成一个子进程,它可以调用child_process模块的spawn方法.spawn方法签名如下: child_process.spawn(comman ...
- 506. Relative Ranks
Given scores of N athletes, find their relative ranks and the people with the top three highest scor ...
- [Find the last digit when factorial of A divides factorial of B]
Given two numbers A and B. The task is to compute the last digit of the resulting F, where F= B! / A ...
- ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 转载请注明出处:http://www.cnblogs.com/yabu007/ 谢谢 官方文档分四部分 一. 教程文档 二.ABP 框架 三. ...
- Automata
A deterministic finite automaton is represented formally by a 5-tuple (Q,Σ,δ,q0,F), where: Q is a fi ...
- Errors are values
原文地址 https://blog.golang.org/errors-are-values Go程序员之间(特别是这些刚接触Go语言的新人)一个常见的讨论点是如何处理错误.谈话经常变成为对如下代码序 ...