Upload-labs 第12 - 21关 通过笔记
上传文件,发现只能上传 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/. 又 /. 不会被解析 成功绕过 (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |