upload-labs自通关记录2

Pass-05

首先尝试直接上传shell.php,提示此文件类型不允许上传,抓包尝试更改其他后缀名,同样无法上传,查看源码,可见几乎所有的后缀名都被放进了黑名单

 尝试添加空格也无法绕过,因此查看了一下wp,wp提示上传文件夹目录有readme.php,找到根目录,发现也没有有用的信息,无法通关,只能搜索攻略了,攻略表示使用.user.ini配置文件可以通过。原理是(转自他人博客):

php.ini 是 php的配置文件,.user.ini 中的字段也会被 php 视为配置文件来处理,从而导致 php 的文件解析漏洞。

但是想要引发 .user.ini 解析漏洞需要三个前提条件

服务器脚本语言为PHP  

服务器使用CGI/FastCGI模式  

上传目录下要有可执行的php文件
————————————————
版权声明:本文为CSDN博主「晚安這個未知的世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47598409/article/details/115050869

因此我们创建一个.user.ini文件,添加如下内容:

这句话的意思是所有的文件都包含1.jpg这个文件,然后我们上传的1.jpg实际包含了一句话木马

首先上传.user.ini成功,再上传1.jpg,检查元素发现上传的文件位置:

 使用蚁剑测试连接,发现不成功,再次查看攻略,发现需要修改php.ini配置文件,否则需要等待300s,我们通过修改php.ini,将时间改为10s,重启phpstudy,发现还是不行可能是不符合三个条件。没有办法了,只能使用文件包含了,测试成功:


 

隔天之后再次找了一篇博客(upload-labs-21关通关笔记 - 简书 (jianshu.com)),发现

因此切换一下phpstudy版本 ,再次用蚁剑测试连接,连接成功(图片马只能含有一句话木马,而不是我上次尝试的含有一句话木马的图片马

 此外本关还可以使用修改后缀名“. .”进行绕过,上图shell.php,即我使用burp修改后缀名为“shell.php. . ”成功上传的一句话木马。

Pass-06

查看源码,发现对后缀名进行了大量的限制,但是发现大小写限制没有了,因此使用.pHP来绕过

 可以发现上传成功,测试(同上)便不做了,因为上传一句话木马已经成功了

Pass-07

查看源码,同样是黑名单限制,这次把大小写限制进来了,我们尝试在文件后面添加空格(我也不知道为什么用空格,因为绕过方式就是那么几种嘿嘿)

 上传成功,直接下一关

Pass-08

这关又把空格限制了,但是没有deldot()(删除文件末尾的"."的作用),因此就在文件末尾添加.绕过

上传成功,直接下一关

Pass-09

查看源码,发现前面几关一直有的,我不懂的::$DATA没有了,因此我猜测本关应该是靠这个绕过;查阅资料: php在window的时候如果 “  文件名 + "::$DATA"   ”会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持"::$DATA"之前的文件名 他的目的就是不检查后缀名。(此方法仅适用于windows操作系统)

因此我们尝试在文件名后添加::$DATA,查看burp,上传成功:

再查看upload文件夹,可以看到上传的文件是正常的.php 

 所以,直接下一关!

Pass-10

查看源码,这次又将::$DATA限制回来了,且之前的限制都汇集在一起了,但是这关可以应用Pass-05和Pass-08所用到的,". 空格 ." 的方法进行绕过,这里的原理是:deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来,因此方法同理Pass-05的方法二,这里便不做测试了。

Pass-11

这关我按照惯例先试试上传一句话木马的时候,发现居然上传成功了,但是检查发现,后缀名php消失了,“.”还在,查看源码,发现是这个函数没见过

 这个函数的意思是寻找文件名中存在的黑名单字符串,将它替换成空(即将它删掉),因此我尝试双写php为phphpp,发现上传的后缀名有了,但是不是php,可能是构造得不对,尝试pphphp(不太懂双写绕过的规则),成功上传

 

小结:

除第五关通过配置文件进行解析上传,其余的绕过方法大多都是以下方式或几种方式混合:

  • 大小写
  • 空格
  • "."
  • 复写(双写)
  • 删除后缀名(::$DATA)

以上可以统称为黑名单限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值