WEB 漏洞-文件上传之基础及过滤方式
前言
知识点
演示案例
-
常规文件上传地址的获取说明
-
不同格式下的文件类型后门测试
-
我们创建一个php后缀的文件进行访问,发现成功访问 -
接着我们将其后缀改成jpg格式,发现不能正常显示之前的页面 -
在这里我们需要注意的是,我们不要妄想通过一个图片格式(带着你的后门代码)来控制网站。什么格式代码就d得用什么格式去执行,只是说在某种情况下图片格式可以解析为php格式或者其他,例如文件包含漏洞 -
配合解析漏洞下的文件类型后门测试
-
开启靶场,打开对应网站 -
在图片中加入我们要注入的代码,进行上传操作,上传成功! -
根据提供的地址我们进行访问,发现访问成功,出现的是我们上传的图片(带有后门代码),这里后面代码没有成功执行,是因为第二个所说的:什么格式代码就d得用什么格式去执行 -
我们在原来的网站地址加上 /1.php,发现后门代码正常执行。我们看到了图片中后门代码执行结果。 -
为什么会出现这种情况呢?因为在这存在**解析漏洞**(在解析方面出现混乱,这个漏洞能够将图片格式的文件解析成脚本文件格式)! -
拓展
-
本地文件上传漏洞靶场环境搭建测试
-
注意:
- 前端:代码直接在浏览器上执行。(不安全)
后端:发送到对方服务器脚本里面,脚本在去验证去判断。 前端代码过滤,删除这段代码 -
我们首先进行第一关的尝试,通过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
?
最后感谢小迪师傅的视频!!
笔记来源视频:点击这里
|