uploadlabs-文件上传靶场练习-第二关

本文介绍了在uploadlabs靶场第二关中遇到的文件上传验证问题,重点讨论了黑名单验证机制的漏洞。通过分析代码,发现过滤机制主要针对asp、aspx、php、jsp等后缀,但可以通过特殊解析后缀如.php5绕过限制。实操中成功上传了以php5为后缀的后门脚本,并展示了执行效果。提醒在实际开发中,完整的后缀验证至关重要,避免因遗漏某些可执行格式导致安全风险。
摘要由CSDN通过智能技术生成

不管是学什么,最重要的是要明白他的原理和思路。只要弄清楚这两个后面的还是挺简单的,这个靶场还考核了一定的代码阅读理解能力,下面让我们冲冲冲!!!!

Pass-02

先看代码

代码中的第一个循环是判断你有没有点击上传按钮,如果有进入下一个循环。file_exists判断的是声明的上传目录是否存在,如果存在就执行下面的上传验证。最重要的来了,这一关考核的是黑名单验证,所谓的黑名单就是除了黑名单里面的东西之外其他的都能上传。这一关禁用上传的脚本后缀是asp、aspx、php、jsp。trim函数是用来把获取过来的文件名中的空格给删除掉,deldot函数删除文件名末尾点防止多后缀名欺骗,比如说你上传1.jpg.png.php,他接受的是1.jpg但是他是以最后一个. 为准也就是说他最终上传上去的是1.php,strrchr函数是分割字符,这里的作用是把.前面的东西删除掉只剩下后缀名(得到你文件的真实后缀),strtlolwer函数把真实后缀名转为小写,str_ireplace函数是把::$DATA替换为空,最后再用trim函数进行空格过滤。这一关看代码其实过滤写的很好,唯一薄弱的地方就是禁止上传的脚本后缀那里。所以我们这一关的思路和下面的思路是怎么样才能让代码检测不出我们上传的后门不是黑名单里面禁止的和正常执行出后门代码。

方法一:

特殊解析后缀绕过

我们知道在apache服务器是能够使用php解析.php3、.php5和phtm的,所以关于其他格式是狗能执

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值