WEB漏洞——文件上传

文章目录


任意文件操作

一、任意文件上传

常见文件上传点

大部分的网站和应用系统都有上传功能,如用户头像上传,图片上传,文档上传等
在这里插入图片描述

概念

任意文件上传漏洞
由于对上传文件未作过滤过滤机制不严(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可以到达控制网站权限的目的

危害:

  • 攻击者可以获得网站控制权限
  • 查看、修改、删除网站数据
  • 通过提权漏洞可获得主机权限

webshell:
一种网页后门,以asp、php、jsp等网页文件形式存在的以后再命令执行环境
在这里插入图片描述

tips–weshell

什么是webshell?
Webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称为一种网页后门。hacker子啊入侵一个网站后,通常会将asp或pho后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
在这里插入图片描述

概念

  • 利用文件上传漏洞,通过服务端提交一句简单代码,配合本地客户端实现webshell功能

示例

  • <%eval request(“cmd”)%>
  • eval函数用于执行客户端命令
  • request()接收客户提交的数据
  • cmd 为客户端提交命令的参数值
    在这里插入图片描述

特性

  • 变形多,易隐藏、难发现
    在这里插入图片描述

所需条件

满足这三个条件,攻击者就能够成功入侵

  • 木马上传成功,未被杀;
  • 知道木马的路径在哪;
  • 上传的木马能正常运行(解析);

上传流程

一般一个文件上传过程中的检测如下图所示
在这里插入图片描述
简单说明:

  • 用户选择要上传的文件;
  • 客户端将文件分片并发送到服务器;
  • 服务器接收文件片段后,将其存储在临时文件中;
  • 所有文件片段传输完毕后,服务器将临时文件合并一个完整的文件;
  • 服务器将文件保存到指定位置。

任意文件上传–GETSHELL

在这里插入图片描述

直接上传

部分网站带有文件上传功能,如果这个功能不做过滤,则能够上传任意文件至服务器。利用这个功能上传木马至服务器,则能够控制对应的服务器

木马上传成功或返回包一般返回上传木马的路径和文件名。若上传的是一句话木马,用蚁剑或者菜刀就可以控制服务器。
在这里插入图片描述

二、上传绕过–这里以upload靶场为例子

1.绕过JS验证

upload 第一关

在这里插入图片描述

方法1:Burpsuite剔除响应JS

对于JS前端验证,直接删除掉JS代码之后,就可以绕过JS验证。
在这里插入图片描述

方法2:浏览器审计攻击剔除JS

利用浏览器的审查工具剔除JS之后,保存为新文件然后进行文件上传。
在这里插入图片描述

方法3:使用浏览器的禁用JavaScript功能

在这里插入图片描述

最后上传Webshell,菜刀连接

在这里插入图片描述

2.绕过MIME-Type验证

介绍

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类,当该扩展名文件被访问的时候,浏览器会自动使用知道应用程序来打开。多用于知道一些客户端自定义的文件名,以及一些媒体文件打开方式。
在这里插入图片描述

验证MIME-Type代码分析

upload第二关
查看源码分析 使用$_FILE[‘upload_file’][‘type’]获取上传文件的MIME-Type类型。其中upload_file是在表单中定义的。

在这里插入图片描述

检测原理

服务端MIME类型检测时通过检测http包的Context-Type字段中的值来判断上传文件是否合法的。部分网站上传功能只对文件类型做了判断,抓包修改文件类型可绕过限制。若只允许上传图片,则文件类型可为image/jpeg,image/png等。
在这里插入图片描述

绕过技巧:可以先成功上传一个案例,观察服务器允许的mime的类型,然后再抓包修改测试

Burpsuite绕过MIME-Type验证

利用Bu

相关推荐

  1. 文件漏洞

    2024-04-10 16:04:01       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 16:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 16:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 16:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 16:04:01       18 阅读

热门阅读

  1. Qt自定义标题栏【即取即用模板】

    2024-04-10 16:04:01       15 阅读
  2. 如何利用ChatGPT提升学术论文写作效率

    2024-04-10 16:04:01       13 阅读
  3. C++笔试面试题整理

    2024-04-10 16:04:01       13 阅读
  4. minio本地文件上传/远程url上传

    2024-04-10 16:04:01       13 阅读
  5. vue项目引入代码编辑器

    2024-04-10 16:04:01       15 阅读
  6. 19、差分矩阵

    2024-04-10 16:04:01       12 阅读
  7. 蓝牙notify和indicate消息区别

    2024-04-10 16:04:01       13 阅读
  8. Unity之C#面试题(一)

    2024-04-10 16:04:01       11 阅读
  9. gin+sse实现离散的消息通知

    2024-04-10 16:04:01       14 阅读