pikachu文件上传漏洞通关

 原理:

       网站Web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护

文件上传如何防御

将上传文件与web服务隔离
使用白名单过滤、限制上传文件类型
文件上传路径设置为不可执行权限
检查文件上传路径
自带函数检测,自定义函数检测
图片渲染 对上传文件重命名
对文件内容压缩,重新生成文件内容 检查文件内容

文件上传漏洞绕过的方式有哪些

文件包含绕过
前端限制绕过
文件扩展名绕过
ashx上传绕过
特殊文件名绕过
00截断绕过上传
htaccess解析漏洞
突破MIME限制上传
解析漏洞绕过
条件竞争绕过
CONTENT-LENGTH绕过

第一关 client check

 绕过方法:

(1)直接前端修改限制代码

 找到限制代码checkfilext ,将“”中的内容改写为return ture

直接可注入木马

(2)浏览器禁用javascript

我是火狐浏览器(每个浏览器关闭的操作可能不一样,建议下载拓展一键关闭)操作如下:

先在地址栏输入about:config,进入该界面

 

 然后搜索javascript.enabled,将值改为false即可

 第二关MIME type

 此关卡为后端验证需要用burp suite抓包修改类型

将content-type改为后缀为要求的格式类型即可 

 上传成功

问题分析
关于MIME类型的介绍可以看这个网页链接: MIME类型,在HTTP request报文中MIME类型在Content-Type字段体现。

本关的防护代码如下图所示

$mime是一个包含合法MIME类型的数组,也就是MIME类型白名单;然后将这个白名单作为参数传入了upload_sick()函数进行服务器端的检测。

第三关 getimagesize

尝试了一下抓包修改类型居然被发现了,也许后端代码会删掉原本的后缀名并根据一些规则替换新的后缀名

在图片中插入一行木马,就可以正常上传了, 需要结合文件包含漏洞或者中间件(如nginx)解析漏洞将图片以php格式执行即可

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值