文件上传绕过upload-labs-master通关11-15

第十一关

尝试上传1.php文件,发现如下提示,为白名单

在这里插入图片描述

查看源码

在这里插入图片描述
只允许.jpg .png .gif类型的文件>
路径拼接

0x00截断:基于一个组合逻辑漏洞造成的,通常存在于构造上传文件路径的时候
  test.php(0x00).jpg
  test.php%00.jpg
  路径/upload/1.php(0x00),文件名1.jpg,结合/upload/1.php(0x00)/1.jpg

php版本小于5.3.4
php的magic_quotes_gpc为OFF状态
修改后重启计算机

在这里插入图片描述

filename=1.jpg可以绕过白名单后缀规则,上传进去保存的路径为upload/1.php%00文件名.后缀,%00截断了后面的文件名.后缀,所以此时<?php phpinfo();?>的存储路径为1.php,此时1.php的内容为<?php phpinfo();?>

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

第十二关
和11关类似,发送方式改为POST,但是post不会对%00进行解码,所以可在burp包里的Hex中将p(十六进制为70)后的数字改为00(即null),从而产生截断。

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

第十三关
本关要求上传一个图片马

在这里插入图片描述

制作图片马

在这里插入图片描述在这里插入图片描述
打开图片马,可以看到代码的前几个字节已经乱码

可以尝试给前面多加几个无关紧要的参数

在这里插入图片描述

再次生成图片马

在这里插入图片描述

上传图片马2.png

在这里插入图片描述

想要看到具体效果,可以结合文件包含一起,可以参考下面两种做法:

1、在DVWA的文件包含关打开图片马
在这里插入图片描述
2、简单新建一个包含文件漏洞的页面
在这里插入图片描述
进行测试
访问http://192.168.168.190/upload-labs-master/upload/2.php?file=5120190911151213.png
在这里插入图片描述

第十四关
查看源码

在这里插入图片描述
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。

抓个包看一下,类型么有变

在这里插入图片描述

测试

在这里插入图片描述

第十五关
查看源码

在这里插入图片描述
exif_imagetype() 读取一个图像的第一个字节并检查其签名。

本关可以与13、14关相同的方式绕过。

发布了40 篇原创文章 · 获赞 42 · 访问量 3607

猜你喜欢

转载自blog.csdn.net/per_se_veran_ce/article/details/100704910