upload靶场第十二关 %00截断

本文详细描述了如何通过PHP源码分析绕过白名单限制,利用magic_quotes_gpc的安全漏洞上传木马文件,以及通过Burp抓包和URL截断实现文件上传和后门访问的过程。
摘要由CSDN通过智能技术生成

源码分析

第一行是白名单过滤,只允许白名单中的类型上传

第二行中$_FILES['upload_file']['name']是获取上传文件的文件名,strrpos($_FILES['upload_file']['name'],".",是获得文件名中最后一次出现"."的位数。那么第二行代码的作用就是,获取文件名最后出现点的下一位的数据,记为$file_ext。通过这样就完成了文件后缀的获取
第三行if判断语句,如果$file_ext在白名单中就继续下面的操作,否则就显示上传失败

第四行是将文件暂时存放在一个路径中

第五行是将路径进行拼接,通过$_GET['save_path']请求获得上传路径,用而这个get传参是我们可以控制的地方 。那么我们的思路就是通过修改这里来绕过白名单。

%00和magic_quotes_gpc 知识点

php的一些函数的底层是C语言,遇到0x00会截断,0x表示16进制,URL中%00解码成16进制就是0x00,也会截断

当magic_quotes_gpc = On时,输入数据中含单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符,都会被加上反斜线。如果不关的话%00就会被转义,不能正常完成实验。

实验过程

注:phpstudy使用版本要低于5.3

先配置phpstudy

其他选项菜单→打开配置文件→php-ini

编辑→查找→magic_quotes_gpc→改为off,保存后重启phpstudy

上传一句话木马jpg格式的文件,并用burp进行抓包

在上传路径这增加文件要保存的名称和格式+%00,forward上传文件,可成功上传。%00起到截断这之后的部分

新建标签页打开后发现是Not Found

删除php后面的部分直接访问就可以了,这就是上传文件的url

最后使用蚁剑连接打开网站后门

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值