2020小迪培训(第20天WEB 漏洞-文件上传之基础及过滤方式)

WEB 漏洞-文件上传之基础及过滤方式

前言

3139a6041f23d50d18a1fb1bc558e63d-1

知识点

  • 什么是文件上传漏洞?

    • 有文件上传不一定存在漏洞
    • 凡是存在文件上传的地方/功能的地方都可以进行文件上传漏洞测试
    • 上传文件操作的代码的完整性、安全性,决定了是否会造成文件上传漏洞
  • 文件上传漏洞有哪些危害?

    ​ 文件可以自定义,可以成为webshell,通过文件上传来上传网站后门,直接获取网站权限,属于高危漏洞,获取到权限之后,我们可以进行服务器提权、获取内网权限、获取网站相关数据权限

  • 文件上传漏洞如何查找及判断?

    • 查找方式
      • 黑盒查找:文件后台、会员中心、文件扫描(通过扫描工具获取敏感信息)
      • 白盒查找:通过代码分析、查找是否存在文件上传的漏洞(前提:有对应网站源码)
  • 文件上传漏洞有哪些需要注意的地方?

    对文件上传类型进行区分,是属于编辑器文件上传,还是属于第三方应用,还是会员中心。要确保文件上传是什么类型,就用什么类型方法对它进行后期测试

  • 关于文件上传漏洞在实际应用中的说明?

image-20210825092505757

演示案例

  • 常规文件上传地址的获取说明

    • 使用搜索引擎进行搜索,进入对应网站后寻找文件上传位置

      image-20210829160922743

      image-20210829161015139

    • 通过扫描工具进行扫描,获取到文件上传的地方

      在这里插入图片描述

  • 不同格式下的文件类型后门测试

    • 我们创建一个php后缀的文件进行访问,发现成功访问

      image-20210829161747110

    • 接着我们将其后缀改成jpg格式,发现不能正常显示之前的页面

      image-20210829161910550

    • 在这里我们需要注意的是,我们不要妄想通过一个图片格式(带着你的后门代码)来控制网站。什么格式代码就d得用什么格式去执行,只是说在某种情况下图片格式可以解析为php格式或者其他,例如文件包含漏洞

  • 配合解析漏洞下的文件类型后门测试

    • 开启靶场,打开对应网站

      image-20210829165801329

      image-20210829165845171

    • 在图片中加入我们要注入的代码,进行上传操作,上传成功!

      image-20210829170130970

      image-20210829170223182

    • 根据提供的地址我们进行访问,发现访问成功,出现的是我们上传的图片(带有后门代码),这里后面代码没有成功执行,是因为第二个所说的:什么格式代码就d得用什么格式去执行

      image-20210829170522527

    • 我们在原来的网站地址加上 /1.php,发现后门代码正常执行。我们看到了图片中后门代码执行结果。

    • 为什么会出现这种情况呢?因为在这存在**解析漏洞**(在解析方面出现混乱,这个漏洞能够将图片格式的文件解析成脚本文件格式)!

      image-20210829170804055

    • 拓展

      • 百分之99的上传文件的地方,是不能够上传脚本文件的!一般允许上传压缩包、图片、文档

      • 通过抓包我们可以获得中间件为nginx,百度可得可能存在解析漏洞,我们将其和文件上传漏洞结合,这是一种很标准的文件上传漏洞

        image-20210829230931983

  • 本地文件上传漏洞靶场环境搭建测试

    • 注意:

      • 前端:代码直接在浏览器上执行。(不安全)
        后端:发送到对方服务器脚本里面,脚本在去验证去判断。
        前端代码过滤,删除这段代码
    • 我们首先进行第一关的尝试,通过f12将网页代码复制下来发现验证代码时用前端js编写的

      image-20210829231834831

    • 这时候我们在自己本地新建一个文件(存放我们的第一关,防止误删其他重要代码),在代码中我们将验证部分删掉,同时加上对应的提交位置

      image-20210829233400467

      image-20210829233614684

      image-20210829233315295

    • 进行上传操作,在对应文件看到php文件,成功上传!

      image-20210829233831103

      image-20210829233802030

    • 第二个思路:利用bp抓包进行修改,将后缀直接改成php即可实现上传脚本文件操作

      image-20210829234412743

    • 注意:bp在有些情况下是抓不到包,这里抓的到是因为代码中提交的部分。比如使用js代码,它是在本地运行,不会将数据发送到服务器上。

  • 某 CMS 及 CVE 编号文件上传漏洞测试

    CMS文件上传漏洞测试

    • 进入网站,我们发现分类成两个,我们先尝试常规类image-20210830000528541

    • 点击进入会员中心,我们点击上传,这时候用bp抓不到数据包,说明这时候并没有和服务器发生数据交互,点击保存时,抓到了包

      image-20210830000649911

    • 我们可以看到抓到的包中有png,我们将其修改成php,关闭拦截
      image-20210830000501468

    • 发现返回的值中并没有显示图片的位置,同时提示上传失败
      image-20210830000745003
      image-20210830000715185

  • 这个时候我们常规想法肯定是觉得这里没有上传漏洞了,但我们打开对应文件夹一看却已经上传成功。在日常中,我们不知道对应网站源码的情况下,我们用常规方法很容易失去一个重要的获取权限的点

    image-20210830001332265

  • 接着我们回到最初,假如最开始我们是尝试从cms这个分类进行突破,我们可以通过下载对应源代码和查询对应的漏洞进行,这时候我们可以根据源码做出更加准确的判断以及后续操作。在这里,我们根据文章操作,最后得到了对应图片的地址,实现了脚本的执行操作。

  • 这两种方法的对比,可以看出分类的重要性。我们分好类了,我们就可以根据对应情况进行分析,针对性的进行操作,效率提高

CVE 编号文件上传漏洞测试

对应操作:https://vulhub.org/#/environments/weblogic/CVE-2018-2894/

涉及资源

https://githuub.com/cOny1/upload-labs

 

最后感谢小迪师傅的视频!!

笔记来源视频:点击这里

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值