目录
Q&A
Q | A |
---|---|
什么是文件上传漏洞? | 1. 有文件上传的地方就可能存在漏洞, 2. 测试对方的代码是否完备,相关安全防护是否到位,疏忽下遗留漏洞 |
文件上传漏洞有哪些危害? | 1. 可以上传可以上传后门文件 2. 一旦存在,隶属高危漏洞。危害高于SQL注入,因为直截了当获取权限(内网权限、提权、服务器提权等) |
文件上传漏洞如何查找及判断? | 测试每一个可以上传文件的地方 1. 黑盒查找,扫描工具扫描敏感文件、寻找上传文件的页面、网站后台(进入后台不代表拥有网站权限,有个名词:后台拉拿webshell) 2. 白盒:分析源码,分析上传文件功能(前提源码) |
文件上传漏洞有哪些需要注意的地方? | 对文件上传类型进行区分,区分类型以对症下药 |
1. 文件上传漏洞的类型
进行漏洞区分很重要,思路清晰,对症下药
- 常规类:
- CMS漏洞:利用相关公开的CMS漏洞
- 编辑器类:关于文件上传的第三方编辑器的漏洞,利用第三方的编辑器实现文件上传的功能
2. 案例
2.1. 常规文件上传地址的获取说明
inurl:upload.php
简单暴力:扫描工具开扫,根据扫描到的网址目录信息罗列可能存在的漏洞逐个尝试。(信息收集的重要性)
网站一般只可上传图片音频压缩包,因此,常规类突破方法,就是网站突破网站的验证
2.2. ★不同格式下的文件类型后门测试
示例:后门代码更改后缀为jpg等,将造成图片解析不通过,且脚本执行器不匹配等
原因:文件格式对应解析格式,即什么格式的文件将会以相应软件执行,jpg后缀不会当作php执行。若网站对文件进行校验,可能上传不会成功
2.3. 配合解析漏洞下的文件类型后门测试
解析漏洞:是配合文件上传的突破的方法,即使文件上传相当完备,存有解析漏洞也存在破解的方法
Nginx 文件名逻辑漏洞(CVE-2013-4547)
-
靶场环境:Ubuntu和vulhub:该漏洞于linux版本有关系
-
准备一个图片,文件末尾添加php代码
<?php phpinfo();?>
-
解析漏洞:对方在文件解析上出现漏洞,添加1.php导致对方混乱,以php解析文件
2.3. 本地文件上传漏洞靶场环境搭建测试
靶场环境安装:upload-labs以第一关为例
- 上来就点提示或者查看网站源码可以得到:本关根据客户端 js 脚本对文件类型进行过滤,属于前端验证
- 突破方案以禁止 js 验证为中心,具体有两种方案:
- 保留网站代码删除 js 脚本部分,本地执行网站提交功能
- 关闭浏览器的 js 脚本执行功能
因此后端验证凸显重要性
方案一:本地执行HTML,删除或注释代码中 js 部分使用 from 标签提交,使用时记得添加 action
方案二:打开浏览器禁止 js 执行功能,(这个功能打开时很多网站不能正常访问)
2.4. 某CMS及CVE编号文件上传漏洞测试
Weblogic 任意文件上传漏洞(CVE-2018-2894)
万千要归类,效率
以fineCMS为例
(修改http包以通过前端封锁,会出现被后端拦截回显上传失败,尽管文件可能上传成功,但不回显文件存在的路径视同为上传失败)
fineCMS上传漏洞member/uid/0x0.php
Weblogic第三方应用存在文件上传漏洞,信息收集中的中重点观测点:第三方
如果不清楚第三方引用,即使登录到后台,也无法利用漏洞