首页 > 其他分享 >WEB漏洞——文件上传

WEB漏洞——文件上传

时间:2024-04-09 18:58:21浏览次数:29  
标签:WEB 验证 JS 漏洞 文件 服务器 绕过 上传

文章目录


任意文件操作

一、任意文件上传

常见文件上传点

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

概念

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

危害:

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

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

标签:WEB,验证,JS,漏洞,文件,服务器,绕过,上传
From: https://blog.csdn.net/qq_63594215/article/details/136863065

相关文章

  • 安卓多照片上传
    importandroid.util.Log;importcom.zx.eselected.client.toools.ImageCompressor;importorg.json.JSONException;importorg.json.JSONObject;importjava.io.File;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjava.......
  • 面试常问问题——web端测试、安卓测试、ios测试的区别是什么?
    web端需要考虑:1、浏览器种类的兼容2、浏览器版本的兼容3、电脑和显示器的显示4、缩放窗口大小的显示5、响应时间 app测试需要考虑:1、不同的屏幕分辨率2、不同品牌的设备3、不同的系统4、不同的安卓版本5、安装卸载......
  • 在Windows电脑上上传iOS应用至App Store
     引言......
  • c# Framwork4.5 添加webapi处理跨域请求问题
     常用2种方式 1)web.config允许所有来源,HTTP方法,请求标头跨域:后端,在Web.config中找到<system.webServer>标签,里面添加配置如下:<httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/><addname="Acc......
  • VueJs使用axios上传文件
    html<inputtype="file"id="fileUploadEle"ref="fileUploadEle"style="display:none;"accept=".png,.jpg"@change="selectFile"/><labelfor="fil......
  • tomcat AJP 任意文件读取/包含漏洞(CVE-2020-1938)
    漏洞描述TomcatAJP协议中存在缺陷,攻击者可以读取或包含Tomcat的webapp目录中的任何文件。漏洞危害:读取webapp配置文件或源代码。如果攻击者读取配置文件得到敏感用户名和下面,tomcatWeb应用开放manager目录具有文件上传功能2.1可以直接上传shell获取控制权,2.2通过Gho......
  • srs+webrtc实现浏览器直播(仿b站页面,纯前端)
    关于srs请看我之前的博客,SRS实现网页和手机端简单直播。与之不同的是,浏览器推流需要使用werbrtc,因此只需要按srs官网配置即可,WebRTC|SRS(ossrs.net)。回到正题... 一.页面搭建b站web直播页面是通过video标签元素实现,但是video并不能同时将摄像头、麦克风、屏幕共享等同时......
  • xmlhttprequest upload 实现前端上传进度
    elementuiupload代码片段exportdefaultfunctionupload(option){if(typeofXMLHttpRequest==='undefined'){return;}constxhr=newXMLHttpRequest();constaction=option.action;if(xhr.upload){xhr.upload.onprogress=......
  • asp.net KindEditor编辑器整合百度WebUploader插件批量上传图片
    集成背景说明多个图片进行批量上传新版本浏览器兼容性问题处理,原编辑器上传图片功能使用flash上传插件,由于最新版本浏览器不再支持flash,重新集成新的上传插件,对编辑器进行改造升级。一、KindEditor介绍KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即......
  • 中间件漏洞攻防学习总结
    前言面试常问的一些中间件,学习总结一下。以下环境分别使用vulhub和vulfocus复现。Apacheapache文件上传(CVE-2017-15715)描述:Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行......