CTF实验吧-上传绕过【0x00截断】

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处! https://sp4rkw.blog.csdn.net/article/details/76549405

原题内容:

 

bypass the upload

格式:flag{}

 

解题链接: http://ctf5.shiyanbar.com/web/upload 

首先随手上传了一个图片,

得到返回:

 

再尝试php文件,得到返回

很明显,题意为卡住php后缀,逼迫你上传文件后缀为jpg等类型,典型的上传绕过问题上传绕过解题思路可参考我转载的【文件上传检测的基本思路】,一般按照思路逐步尝试即可,简单的大小写,加后缀不可过,此题无js,猜测为0x00截断上传,此处仔细分析何为0x00截断上传及其原理

简单举个例子:

 

<% 
path="upfiles/picture/" 
file="20121212.jpg" 
upfilename=path & file '最后的上传地址 
%> 


upfilename即为最终名字,意思为如果地址为picture/1.php+,文件名为1.jpg则最终上传上去的文件路径为picture/1.php+1.jpg,0x00截断的思路即为将+之后的内容忽略掉使上传文件1.jpg最终上传到1.php中,此处利用到的就是0x00的截断漏洞,下面用题目做具体说明:

 

首先bp上传图片,将数据包发到repeater,并对/uploads/后面加上1.php+,此处相当于上述例子中的path:

然后打开hex(16进制),找到+对应的编码:

0x00的意思为16进制00,所以讲+对应的进制改成00(至于怎么找到对应代码,看右边对应代码,找到第几行,从左到右,每个字母对应一个代码),改完直接go

内容就是这些了,flag自行尝试吧,有疑问欢迎留言或者私信

展开阅读全文

没有更多推荐了,返回首页