upload-labs第11~12关 00截断

前言

在这里插入图片描述

0x:16进制表示
00:表示0
0x00:就是代表16进制的0,在ASCII码里代表null。

有的函数在处理这个字符时,会当做结束符

%00 和 00 是一样的,只是在get提交时,经过url编码后,00就成了%00

前提条件:

php 版本 < 5.3.4且php的参数magic_quotes_gpc必须关闭
(但是在php7.x的部分高版本里面也有这个漏洞)

upload-labs第11~12关 00截断_第1张图片

第十一关

查看提示:
upload-labs第11~12关 00截断_第2张图片
可以用%00进行截断

因为上传的表单中有一个enctype的属性,并且需要enctype=“multipart/form-data” (不对表单中数据进行编码),path大多数都是存放在表单中的,因此需要在数据包中进行urldecode操作使%00变成字符串结束符号。

通过Burp Suite将save_path=../upload/ HTTP/1.1使用%00进行截断-> save_path=../upload/filename.php%00 HTTP/1.1

upload-labs第11~12关 00截断_第3张图片

第十二关

同样利用%00进行截断

利用ASCII:American Standard Code Information Inexchange[美国标准信息码交换]

1、首先编辑一个.php文件,将其上传的同时修改后缀名为.jpg,文件类型修改为:image/jpeg
2、 在这个位置加上234.php+变成 ../upload/234.php+
然后到到 十六进制 那一栏里找到+代表的2b,改成00
upload-labs第11~12关 00截断_第4张图片
upload-labs第11~12关 00截断_第5张图片

upload-labs第11~12关 00截断_第6张图片
upload-labs第11~12关 00截断_第7张图片

注意:此处请参见ASCII码对应的特殊符号的字符编码,比如此处使用+代表'2b'或者a代表空格。

第十三关

第十四关

第十五关

第十六关

第十七关

你可能感兴趣的:(upload-labs)