upload-labs第11~12关 00截断

时间:2022-07-23
本文章向大家介绍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代表空格。

第十三关

第十四关

第十五关

第十六关

第十七关