今天有时间就多写几篇解题思路吧,希望能够帮助到那些需要帮助的人,所有的wp都是以一题一篇的形式写出
主要是为了能够让读者更好的阅读以及查找,希望你们不要责怪!!共勉!!!
永远爱你们的————新宝宝
上传绕过分值:10
- 来源: Justatest
- 难度:易
- 参与人数:9296人
- Get Flag:4107人
- 答题人数:4222人
- 解题通过率:97%
bypass the upload
格式:flag{}
解题链接: http://ctf5.shiyanbar.com/web/upload
解题思路:这一题需要知道00截断
首先:题目意思是要上传一个文件,具体要上传什么文件题目也没说,我们就随意上传一个txt文本文档,点submit,
题目会显示"不被允许的文件类型,仅支持上传jpg,gif,png后缀的文件"的字样,这时我们就新建一个2.jpg文件,然后点击submit上传,
然后会有以下提示信息:
然后试着上传php文件就会得到:
这不是故意找茬吗??其实这个前后是有矛盾的,而题目给的提示很明显呀(需要绕过呀)我们使用哪种绕过方式呢:
这里涉及到一个很有意思的知识,叫做00截断,什么是00截断呢?在这里我简单给大家介绍一下~~~
00截断是文件后缀名就一个%00字节,可以截断某些函数对文件名的判断,在许多语言函数中,处理字符串的函数中0x00被认为是终止符。
例如,网站上传函数处理xxx.php%00.jpg时,首先后缀名是合法的jpg格式,可以上传,在保存文件时,遇到%00字符,丢弃后面的jpg,
文件后缀最终保存的后缀名为xxx.php
例如:head.php.jpg,head.php_.jpg,head.php%00.jpg
明白这个之后我们需要使用火狐浏览器,打开burpsuite就可以了,使用抓包,
我们首先需要
然后打开hex将其中的这个地方
将这个地方的70更改为00就会得到:
最后得到答案:flag{SimCTF_huachuan}