upload-labs第11~12关 00截断

前言

在这里插入图片描述

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

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

%00 和 00 是一样的,只是在get提交时,%00是经过url编码的,%00解码后就是0x00截断的那个字符

第十一关

查看提示:
在这里插入图片描述
可以用%00进行截断

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

在这里插入图片描述

因为上传的表单中有一个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

在这里插入图片描述

第十二关

同样利用%00进行截断

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

1、首先编辑一个.php文件,将其上传的同时修改后缀名为.jpg,文件类型修改为:image/jpeg
2、 在这个位置加上234.php+变成 ../upload/234.php+
然后到到 十六进制 那一栏里找到+代表的2b,改成00
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

第十三关

第十四关

第十五关

第十六关

第十七关

猜你喜欢

转载自blog.csdn.net/weixin_45663905/article/details/107559653
今日推荐