WEB 漏洞-文件上传之基础及过滤方式
前言
![3139a6041f23d50d18a1fb1bc558e63d-1](https://i.loli.net/2021/08/30/mQkU7tX8xR46gHp.jpg)
知识点
-
什么是文件上传漏洞?
- 有文件上传不一定存在漏洞
- 凡是存在文件上传的地方/功能的地方都可以进行文件上传漏洞测试
- 上传文件操作的代码的完整性、安全性,决定了是否会造成文件上传漏洞
-
文件上传漏洞有哪些危害?
文件可以自定义,可以成为webshell,通过文件上传来上传网站后门,直接获取网站权限,属于高危漏洞,获取到权限之后,我们可以进行服务器提权、获取内网权限、获取网站相关数据权限
-
文件上传漏洞如何查找及判断?
- 查找方式
- 黑盒查找:文件后台、会员中心、文件扫描(通过扫描工具获取敏感信息)
- 白盒查找:通过代码分析、查找是否存在文件上传的漏洞(前提:有对应网站源码)
- 查找方式
-
文件上传漏洞有哪些需要注意的地方?
对文件上传类型进行区分,是属于编辑器文件上传,还是属于第三方应用,还是会员中心。要确保文件上传是什么类型,就用什么类型方法对它进行后期测试。
-
关于文件上传漏洞在实际应用中的说明?
![image-20210825092505757](https://i.loli.net/2021/08/30/axXYbqBOmzdn25j.png)
演示案例
-
常规文件上传地址的获取说明
-
使用搜索引擎进行搜索,进入对应网站后寻找文件上传位置
-
通过扫描工具进行扫描,获取到文件上传的地方
-
-
不同格式下的文件类型后门测试
-
我们创建一个php后缀的文件进行访问,发现成功访问
-
接着我们将其后缀改成jpg格式,发现不能正常显示之前的页面
-
在这里我们需要注意的是,我们不要妄想通过一个图片格式(带着你的后门代码)来控制网站。什么格式代码就d得用什么格式去执行,只是说在某种情况下图片格式可以解析为php格式或者其他,例如文件包含漏洞
-
-
配合解析漏洞下的文件类型后门测试
-
开启靶场,打开对应网站
-
在图片中加入我们要注入的代码,进行上传操作,上传成功!
-
根据提供的地址我们进行访问,发现访问成功,出现的是我们上传的图片(带有后门代码),这里后面代码没有成功执行,是因为第二个所说的:什么格式代码就d得用什么格式去执行
-
我们在原来的网站地址加上 /1.php,发现后门代码正常执行。我们看到了图片中后门代码执行结果。
-
为什么会出现这种情况呢?因为在这存在**解析漏洞**(在解析方面出现混乱,这个漏洞能够将图片格式的文件解析成脚本文件格式)!
-
拓展
-
百分之99的上传文件的地方,是不能够上传脚本文件的!一般允许上传压缩包、图片、文档
-
通过抓包我们可以获得中间件为nginx,百度可得可能存在解析漏洞,我们将其和文件上传漏洞结合,这是一种很标准的文件上传漏洞
-
-
-
本地文件上传漏洞靶场环境搭建测试
-
注意:
- 前端:代码直接在浏览器上执行。(不安全)
后端:发送到对方服务器脚本里面,脚本在去验证去判断。
前端代码过滤,删除这段代码
- 前端:代码直接在浏览器上执行。(不安全)
-
我们首先进行第一关的尝试,通过f12将网页代码复制下来发现验证代码时用前端js编写的
-
这时候我们在自己本地新建一个文件(存放我们的第一关,防止误删其他重要代码),在代码中我们将验证部分删掉,同时加上对应的提交位置
-
进行上传操作,在对应文件看到php文件,成功上传!
-
第二个思路:利用bp抓包进行修改,将后缀直接改成php即可实现上传脚本文件操作
-
注意:bp在有些情况下是抓不到包,这里抓的到是因为代码中提交的部分。比如使用js代码,它是在本地运行,不会将数据发送到服务器上。
-
-
某 CMS 及 CVE 编号文件上传漏洞测试
CMS文件上传漏洞测试
-
进入网站,我们发现分类成两个,我们先尝试常规类
-
点击进入会员中心,我们点击上传,这时候用bp抓不到数据包,说明这时候并没有和服务器发生数据交互,点击保存时,抓到了包
-
我们可以看到抓到的包中有png,我们将其修改成php,关闭拦截
-
发现返回的值中并没有显示图片的位置,同时提示上传失败
-
-
这个时候我们常规想法肯定是觉得这里没有上传漏洞了,但我们打开对应文件夹一看却已经上传成功。在日常中,我们不知道对应网站源码的情况下,我们用常规方法很容易失去一个重要的获取权限的点
-
接着我们回到最初,假如最开始我们是尝试从cms这个分类进行突破,我们可以通过下载对应源代码和查询对应的漏洞进行,这时候我们可以根据源码做出更加准确的判断以及后续操作。在这里,我们根据文章操作,最后得到了对应图片的地址,实现了脚本的执行操作。
-
这两种方法的对比,可以看出分类的重要性。我们分好类了,我们就可以根据对应情况进行分析,针对性的进行操作,效率提高
CVE 编号文件上传漏洞测试
对应操作:https://vulhub.org/#/environments/weblogic/CVE-2018-2894/
涉及资源
https://githuub.com/cOny1/upload-labs
最后感谢小迪师傅的视频!!
笔记来源视频:点击这里