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就可以完成此题

这题就是运用到一个上传的思想,

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

这些年,你们一起踩过的坑(1)

编程教室创建5年多了,回答的问题不说上万也有好几千了。尽管大多数的问题在过去的文章以及论坛上都有讲过不止一遍,但因为不断有新人到来,难免还是被这些小坑磕磕绊绊一...

13050
来自专栏CDA数据分析师

Python 快速教程(标准库)

Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这...

21290
来自专栏企鹅号快讯

Scrapy爬虫教程二 浅析最烦人的反爬虫手段

最近一直在弄爬虫,也爬取了知名网站的一些数据(这里只是个人学习使用,不是商用!!!),大家都知道,爬虫和反爬虫一直以来都是相爱相杀的,爬虫程序员希望破解反爬虫手...

48600
来自专栏技术之路

Go 单例模式[个人翻译]

  原文地址:http://marcio.io/2015/07/singleton-pattern-in-go/   最近几年go语言的增长速度非常惊人,吸引...

32790
来自专栏服务端技术杂谈

如何在2016年成为一个更好的Node.js开发者

本文主要讨论一些进行Node.js开发的最佳实践和建议,这些建议不仅仅适合开发者,还适合那些管理与维护Node.js基础架构的工作人员。遵循本文提供的这些建议,...

31570
来自专栏铭毅天下

Elasticsearch聚合优化 | 聚合速度提升5倍!

? 1、聚合为什么慢? 大多数时候对单个字段的聚合查询还是非常快的, 但是当需要同时聚合多个字段时,就可能会产生大量的分组,最终结果就是占用 Elastic...

60870
来自专栏FreeBuf

SSLStrip 终极版:Location 瞒天过海

作者 Ether Dream 前言 之前介绍了 HTTPS 前端劫持 的方案,虽然很有趣,然而现实却并不理想。其唯一、也是最大的缺陷,就是无法阻止脚本跳转。若是...

22480
来自专栏尚国

深入剖析最新IE0day漏洞

在2018年4月下旬,我们使用沙箱发现了IE0day漏洞;自从在野外发现上一个样本(CVE-2016-0189)已经有两年多了。从许多方面来看,这个特别的漏洞及...

15620
来自专栏FreeBuf

看我如何破解OpenNMS哈希密码?

背景 在最近的一次渗透测试中,我拿下了一台运行OpenNMS的服务器,并获取了该服务器的root访问权限。在后利用阶段我提取了几个本地用户的哈希密码,我想尝试破...

38660
来自专栏更流畅、简洁的软件开发方式

【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式

关键字:提出需求、需求分析、原则、设计模式、索引      先说一下讨论的范围:使用数据库保存信息的项目,b/s结构,asp.net编写。请不要讨论这个范围之外...

21860

扫码关注云+社区

领取腾讯云代金券