前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >niushop任意文件上传1

niushop任意文件上传1

作者头像
lonelyvaf
发布2018-06-07 14:52:37
2.1K0
发布2018-06-07 14:52:37
举报
文章被收录于专栏:晨星先生的自留地

为了祖国的未来,快来关注我们吧

在工作中意外碰到了一个电商的cms。(你猜是哪个电商?反正我双十一没剁手,考虑双旦入手xx防脱。)发现这个东西似乎存在着不少漏洞,花时间审计一翻。就发现了N个上传漏洞。

首先作为一个脚本小子,总喜欢黑盒来一遍。听闻猪猪侠说,在他的时代,渗透中只要识别一下指纹,然后判断是什么cms。下载一套,本地一搭建马上就能日。虽然赶不上那种时代了。庆幸的心理肯定要有的,指不定就直接getshell了呢?在着,搭建本地靶场测试,能辅助你摸清楚这套程序的逻辑,对白盒的审计也有帮助。

我们先在本地搭建完进入后台,找出所有可见的上传点。

1、头像上传处

2、商品图片

3、logo

4、二维码

我们在头像上传处,审核元素,看看其触发哪个js事件。

我使用phpstorm搜索,uploadImg,可以看到不少文件都调用了它。

跟进imgUpload这个事件,跳转到底部的imgUpload函数,该函数调用了uploadFile函数,继续跟进uploadFile函数,跳到了File_upload.js。

函数内调用validationFile函数验证文件类型。userDetail.html使用File_upload.js,这个也就是我们用户头像上传处html。

路径:

/template/adminblue/Auth/userDetail.html

灰盒的阶段到此结束,在这里我们给出的结论是:先是前端js验证文件是否合法,不合法就不让上传。但是我们如果直接抓包工具发送请求或者在chrome中修改就绕过了这一层验证了,所以这一层验证是鸡肋。

客户端是最不能信任的!(划重点!!)

接着我们来看看白盒测试,此时点上传会提示请上传图片文件。

unicode解码为:请检查您的上传参数配置或上传的文件是否有误

原因是在 /application/shop/controller/Member.php

这边也验证了MIME类型,我们同样在上传的文件内容伪造GIF89a文件头即可。

可以看到我们上传的文件躺在了服务器中,另外值得一提的是也未验证cookie或者token,也就是说不是管理员用户也能上传。结合网络空间搜索引擎,比如:shodan、fofa。You Know it,you can hack it!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 晨星先生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档