加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Upload-labs 第12 - 21关 通过笔记

发布时间:2022-11-21 14:07:31 所属栏目:PHP教程 来源:未知
导读: 第12关
上传文件,发现只能上传 png jpg 等
为白名单检测,post
使用 截断法
上传 .php 文件
抓包,在sava_path 后面加上 .php
file_name 后缀 改成 png/jpg 白名单允许的后缀
上传发现成

第12关

上传文件,发现只能上传 png jpg 等

为白名单检测,post

使用 截断法

上传 .php 文件

抓包,在sava_path 后面加上 .php

file_name 后缀 改成 png/jpg 白名单允许的后缀

上传发现成功

复制图像链接,把.php 后面内容全删了

就是.php 的链接

用 蚁剑 成功连接

第13关

查看源码,发现白名单检测,post

试试 方法

上传 .php 文件

抓包,发现save_path 在post处,意味着要url编码

编码后,吧file_name 改成 jpg/png/gif 后缀

上传成功、

用 蚁剑 成功连接

第14关

点击提示,说只检测2个字节

我们用 gif 的试试

在 .php 文件的内容前面加上 GIF 89A

再上传,上传成功

题目又说有文件上传漏洞

试试 include.php ,果然,服务器有这个文件

提示 file 的get 型

访问 include.php?file=upload/gif文件名

成功解析

第15关

点击提示,发现用了getimagesize()函数

这个函数是解析文件的头字节

那么就上传14关的加了GIF 89A的文件

再访问include.php?file=upload/gif文件名

成功

第16关

点击提示,发现用了exif_imagetype()函数

这个函数也是解析文件的头字节

那么就上传14关的加了GIF 89A的文件

再访问include.php?file=upload/gif文件名

成功

第17关

二次渲染

意思就是,上传图片后,会有个缩略图,可以保存删除的

这边就可能涉及二次渲染

这个就需要对比他二次渲染后的图片和原来图片的hex编码

看出哪里没改,然后再那里写入一句话

就可以绕过了,用脚本来

第18关

分析源码,发现他是上传文件到服务器后,再进行后缀名的判断

存在 条件竞争

那么就不断上传php文件,然后浏览器不断访问文件链接,

如果访问到了,他判断后缀名就不会发生

成功通过

第19关

思路:

上传 .php.7z,抓包

用burp不断上传,浏览器访问 upload/.php.7z

apache的解析漏洞为将 .php.* 当成 php 执行

也是条件竞争,不过成功率很低。。

第20关

提示我们保存名称可以改?

试试上传一个php文件,被保存名称解析成了jpg文件

试试改保存名称,没用,看源码

发现黑名单,试试保存名称改成 .phP,成功绕过

第21关

通过代码审计

以 . 为分界PHP文件上传,弄成数组

数据[0]就是文件名

数据[2]就是后缀

抓包,修改

-----------------------------221390815126978473834183552440

Content-Disposition: form-data;

upload-20.php/

-----------------------------221390815126978473834183552440

Content-Disposition: form-data;

png

-----------------------------221390815126978473834183552440

Content-Disposition: form-data;

上传

-----------------------------221390815126978473834183552440--

此时数据[1] 为空

此时就变成了

数据[0] + . + 数据[1]

就是:

upload-20.php/.

又 /. 不会被解析

成功绕过

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!