栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

Upload-Labs回顾上篇(1-10节)

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Upload-Labs回顾上篇(1-10节)

第一关:前段校验
①:可以尝试修改about:config配置,将Javascript设置为False,直接上传.php文件了。
②:或者先上传允许的文件,再抓包删除标记的.jpg,然后forward即可。核心就是绕过前段验证即可。貌似00截断也可以。
第二关:content type绕过
替换标记的content type 类型为image/jpeg即可上传成功,源码里提示是image/jpeg。第三关:文件扩展名绕过
源码中有黑名单限制,可以通过其他扩展名上传,比如说php2,php3,php5,phtml等。其中遇到了apache无法解析php3的情况,经研究后发现需要在httpd.conf文件中配置服务器解析的文件类型,虽然最后勉强能够解析,但我总感觉哪里不对。php类型的文件直接就执行了,也没添加解析类型。其实用第四关方法也能绕过。还有一种方法是重定向来进行文件重写,操作很新奇。参考链接:https://www.cnblogs.com/cute-puli/p/10921922.html

感觉这里配置不是很正确。
第四关:.htaccess利用

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。简单的说就是能够利用其改变配置的特性把jpg图片当做php解析。
这里注意.htaccess不需要文件名,如果设置了,解析不成功的。
第五关:大小写绕过
查看源码发现黑名单过滤大部分文件后缀了。但没统一转化为小写,可以使用大小写绕过。
第六关:空格绕过
相比于上一关,少了去除空格的代码$file_ext = trim($file_ext); //首尾去空,利用末尾加空格绕过黑名单限制。
第七关:点绕过
比较源码发现缺少去除文件末尾的点的代码:$file_name = deldot($file_name);//删除文件名末尾的点,可以再末尾加点,绕过黑名单限制,而Windows自带去除末尾点的特性,又还原成正常文件扩展。

第八关:NTFS文件流绕过
利用缺少代码$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA来进行绕过。上传文件后抓包添加后缀::$DATA即可绕过。具体参考:https://www.jianshu.com/p/b1a130902b4e。
第九关:点+空格+点绕过
类似构造一个空文件名加在后面,源码把空的文件名删了,就剩下正常的文件。第十关:双写绕过
源码要替换黑名单为空。所构造pphphp为后缀的文件名即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号