发布于2022-08-03 18:34 阅读(769) 评论(0) 点赞(2) 收藏(3)
本关要求上传图片,为验证文件上传漏洞,提前在本地编辑好php文件,
成功上传后访问此文件可以看到phpinfo界面
尝试上传1.php
弹出 报错,在上传框处右键点击 “检查”
发现框中语句,有一个cheakfile()的函数 删除这个语句在尝试上传
没有报错
在url中访问上传的文件
成功!
关卡2
同样的步骤
删除cheakfile后尝试上传发现失败
利用bp抓包分析
这是抓到的包
发现存在MIME类型绕过
MIME (Multipurpose Internet Mail Extensions)是描述消息内容类型的因特网标准。MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。常见的 MIME类型如下:
这里修改成jpg的对应格式
点击send
没有报错
尝试访问
成功!
关卡3
尝试上述的两种方法发现不可以
检查一下源代码
发现是一个黑名单过滤 后台会过滤.php结尾文件 并且在前面也对绕过方法进行了屏蔽
此时可以尝试 使用 .php5 .phtml .pht等来绕过并不完整的黑名单
上传成功
右键检查可以看到 上传的文件名被修改了
访问这个路径即可
关卡4
直接检查源码
可以说吧后缀名全部给禁用了
这时候上传一个 .htacess文件
这个文件的作用是匹配文件名中的关键字(比如:当文件名[info.php.png]中包含关键字[.php],并且.htaccess文件内容如下,info.php.png 中的代码会被执行)
上传 .htaccess文件成功
我们再上传php文件 注意 .php后缀还是会被过滤。
上传成功 访问测试
注意 url中显示文件名 1.php.jpg 但结果仍按照.php文件执行 这就是上传.htaccess文件的作用
关卡5
查看源码
此处没有过滤大小写
尝试 1.PHp
上传成功 访问测试 发现不行
回到upload页面 F12检查
发现上传的 1.php被重新命名了
访问新的名称
成功!
关卡6
此处没有进行后缀名首尾去空格
上传一个 1.php 文件
同时bp抓包
修改文件名 .php后加空格 如图
响应包中含有被重命名后的 1.php 访问
成功
关卡7
查看源码
没有过滤后缀名后的 .点
和上一关一样 bp抓包 加点 查看回包 访问
成功
关卡8
查看源码
没有过滤 ::$DATA
一些特殊的文件命名方式在 Windows下是不被允许的,利用 Burp Suite 工具抓包修改后缀名,绕过服务端的验证后上传文件,Windows会自动去掉后面添加的。
注:此方法只适应于Windows,因为 Unix/Linux系统没有这个特性。
bp抓包
修改 1.php名 1.php::$DATA 这样windows会自动过滤php后面的不被允许的后缀,就可以执行php文件
访问测试
成功!
作者:来呀来呀开心吧
链接:http://www.phpheidong.com/blog/article/355654/fbbd201d692b44882cc7/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!