我是靠谱客的博主 幽默吐司,最近开发中收集的这篇文章主要介绍upload-labs通关(Pass06-Pass10)Pass06(黑名单之大小写绕过)Pass07(黑名单之空格绕过)Pass08(黑名单之点绕过)Pass09(黑名单之::$DATA绕过)Pass10(黑名单之点空格绕过),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • Pass06(黑名单之大小写绕过)
  • Pass07(黑名单之空格绕过)
  • Pass08(黑名单之点绕过)
  • Pass09(黑名单之::$DATA绕过)
  • Pass10(黑名单之点空格绕过)

Pass06(黑名单之大小写绕过)

上传1.php失败
在这里插入图片描述
继续代码审计
在这里插入图片描述
发现本关的代码与之前的代码少了strtolower函数,所以我们可以通过使用大小写的方式进行绕过,因为windows系统是不区分大小写的,但如果是linux系统的话就不能使用这个方法。

在这里插入图片描述
在服务端我们也能看到我们确实把文件上传上去了,并且类型也是PHP文件
在这里插入图片描述
但是我在进行解析时缺无法正常解析,弹出状态码500服务器错误
在这里插入图片描述
特别注意,我的环境apache 2.4.39的时候连接失败,Response报文状态码500,用nginx 1.15.11是可以成功的
在这里插入图片描述

Pass07(黑名单之空格绕过)

上传1.php失败
在这里插入图片描述
继续代码审计
在这里插入图片描述
发现本关又在之前关卡中少了
$file_ext = trim($file_ext); //首尾去空的代码
所以本关我们可以用空格绕过,这些都是windows的一些小特性
服务端成功上传
在这里插入图片描述
上传代码正常解析
在这里插入图片描述
注:环境测试需使用低版本5.0,使用7.0版本会提示上传出错

Pass08(黑名单之点绕过)

上传1.php失败
在这里插入图片描述
进行代码审计
在这里插入图片描述
发现与之前代码少了一行
$file_name = deldot($file_name);//删除文件名末尾的点
所以本关可以使用在文件名后缀添加点的方式来绕过,因为windows会自动解析为php
在这里插入图片描述
如图所示代码成功上传
在这里插入图片描述
上传代码正常解析
在这里插入图片描述

Pass09(黑名单之::$DATA绕过)

上传1.php
在这里插入图片描述
进行代码审计
在这里插入图片描述
本关又在之前关卡的基础上删除了下面这行代码
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
所以本关可以使用::$DATA绕过
在这里插入图片描述
成功上传到服务端
在这里插入图片描述
直接访问会弹出403状态码
在这里插入图片描述
直接把后缀删掉保留php就可以正常解析了
在这里插入图片描述

Pass10(黑名单之点空格绕过)

上传1.php文件
在这里插入图片描述
查看代码进行代码审计
在这里插入图片描述
首先trim()删除文件名末尾的多个空格,然后deldot()删除文件名末尾的多个点,strrchr()以第一个.为界取出后缀,strtolower()将后缀转化为小写,str_ireplace()去掉后缀中的一个::$DATA,最后trim()删除后缀末尾的多个空格。处理完的后缀与黑名单对比,如果后缀不在黑名单中,则上传后的文件名是去掉文件名末尾的空格,再去掉文件名末尾的点之后的文件名。

按照这个顺序倒推,就可以发现后缀.php. .(点空格点)是可以绕过黑名单检查的。
在这里插入图片描述
成功上传到服务端
在这里插入图片描述
代码正常解析
在这里插入图片描述

最后

以上就是幽默吐司为你收集整理的upload-labs通关(Pass06-Pass10)Pass06(黑名单之大小写绕过)Pass07(黑名单之空格绕过)Pass08(黑名单之点绕过)Pass09(黑名单之::$DATA绕过)Pass10(黑名单之点空格绕过)的全部内容,希望文章能够帮你解决upload-labs通关(Pass06-Pass10)Pass06(黑名单之大小写绕过)Pass07(黑名单之空格绕过)Pass08(黑名单之点绕过)Pass09(黑名单之::$DATA绕过)Pass10(黑名单之点空格绕过)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部