返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >文件上传攻击
  • 466
分享到

文件上传攻击

安全 2023-08-31 16:08:22 466人浏览 八月长安
摘要

一、原理         文件上传攻击实质上就是拿下网站的控制权,户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向 服务器 上上传可执行的动态脚本文件。在我们的日常生活中经常会遇到,例如,我们在上传文件时,后台服务

一、原理

        文件上传攻击实质上就是拿下网站的控制权,户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向 服务器 上上传可执行的动态脚本文件。在我们的日常生活中经常会遇到,例如,我们在上传文件时,后台服务器对其文件检测不严时,通过修改后缀名进行执行木马病毒。这里上传的文件可以是木马,病毒,恶意脚本或者WEBshell等。

WebSell:以ASP、PHPjsP等网页文件形式存在的一种命令执行环境,也叫网页后门。

利用方式

  • 一句话木马(意味着木马的攻击代码非常短,但是功能非常强大)
  • 能找到上传后的路径
  • 可能会有上传文件的策略

危害

  • 查看/上传/下载对方文件
  • 查看数据库信息
  • 可以执行系统命令
  • 欺骗用户进行恶意软件下载

防御措施

  • 上传文件的存储位置与服务器分离
  • 上传的文件重新 修改文件名、 文件后缀名
  • 文件上传的 上传保存路径根据业务进行分离
  • 下载时 根据重新生成的文件名进行下载

二、攻击实战

1.文件上传漏洞(级别:low)

配置实验环境

设置安全级别为low,进入到文件上传攻击界面。随意上传一个图片文件(小于100kb,前端限制上传文件大小),将照片成功上传到文件。

将图片进行上传

 根据提示的路径URL可以找到该图片

 创建一个PHP文件,内容如下:

  #dmc为变量,进行连接密码

 

将该文件上传,提示成功上传

 利用中国菜刀进行连接。在菜刀中进行添加SHELL的对话框,在地址输入刚才上传的php一句话木马地址:http://192.168.146.50/DVWA/hackable/uploads/mm.php  

中国菜刀:一款专业的网站管理软件(WebShell管理工具),小巧强大,只要支持动态脚本的网站都可以用中国菜刀进行管理。

下载地址:阿里云盘分享

 打开中国菜刀,进行连接

 中国菜刀主界面

 在主页面,点击右键,新建SHELL对话框。在地址栏输入刚才上传的一句话PHP木马

Http://192.168.146.50/DVWA/hackable/uploads/mm.php后面的文本框填写文件中的变量dmc

进行连接

 

 进行shell连接,可以进行管理目标服务器的所有数据,可以进行文件上传和下载

 在这里,我们就已经利用文件上传漏洞进行提权,可以进行任意的操作,上传、下载、删除等。

2.文件上传漏洞(级别:medium)

 配置实验环境

设置安全级别为mdeium,进入到文件上传攻击界面。随意上传一个图片文件(小于100kb,前端限制上传文件大小),将照片成功上传到文件。在进行medium级别时,要提前删除low级别时上传的PHP文件,以免影响实验结果。

找到安装PhpStudy的目录,找到如下文件夹:(以我自己的电脑为例)

C:\Users\wu\Desktop\phpStudy\phpStudy\WWW\DVWA\hackable\uploads

 我们进行源代码查看,观察一下medium级别对文件上传的限制,我们发现限制文件的格式必须为image/jpeg 或者/image/png,并且限制文件不能超过100k。

 在源代码我们发现MIME类型为jpeg/png ,我们可以进行绕过,利用Burpsuite进行代理绕过。MIME默认类型:application/octet-stream,在进行绕过时,我们把类型改为image/jpeg 或者/image/png。

 开启代理后,我们继续上传之前写过的PHP文件(一句话木马),我们利用Burpsuite修改文件后缀名image/jpeg 或者/image/png,再进行放行数据包。

 进行修改默认文件类型,再进行放行数据包

修改成功后,我们成功上传文件到服务器。

  利用中国菜刀进行连接。在菜刀中进行添加SHELL的对话框,在地址输入刚才上传的PHP一句话木马地址:http://192.168.146.50/DVWA/hackable/uploads/mm.php  ,连接方式和上面一样,如果不懂,再看上面的步骤。

 

三、小结

        实验到这里基本结束了,我们在学习的时候一定要进行动手,不懂的问题要及时查阅资料并做好笔记。加油,相信你们可以的。

来源地址:https://blog.csdn.net/qq_44915227/article/details/130274816

--结束END--

本文标题: 文件上传攻击

本文链接: https://lsjlt.com/news/386148.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 文件上传攻击
    一、原理         文件上传攻击实质上就是拿下网站的控制权,户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向 服务器 上上传可执行的动态脚本文件。在我们的日常生活中经常会遇到,例如,我们在上传文件时,后台服务...
    99+
    2023-08-31
    安全
  • 文件上传攻击骚操作
    允许直接上传shell 只要有文件上传功能,那么就可以尝试上传webshell直接执行恶意代码,获得服务器权限,这是最简单也是最直接的利用。 允许上传压缩包 如果可...
    99+
    2023-09-03
    php 服务器 安全
  • 攻防世界-web-wzsc_文件上传
    打开环境,很简单的上传界面  上传一个空内容的jpg文件,上传成功    网站代码如下   来源于下面的文章 https://blog.csdn.net/qq_45608153/article/details/126312379 ...
    99+
    2023-09-10
    前端 java servlet php ctf
  • Linux服务器防御:保护Web接口免受恶意文件上传攻击
    保护Linux服务器上的Web接口免受恶意文件上传攻击有以下几个关键步骤:1. 输入验证:在处理用户上传的文件之前,始终进行输入验证...
    99+
    2023-10-18
    Linux
  • SpringMVC 单文件上传与多文件上传实例
    一、简述一个javaWeb项目中,文件上传功能几乎是必不可少的,本人在项目开发中也时常会遇到,以前也没怎么去理它,今天有空学习了一下这方面的知识,于是便将本人学到的SpringMVC中单文件与多文件上传这部分知识做下笔记。二、单文件上传1、...
    99+
    2023-05-31
    springmvc 文件上传 多文件上传
  • ThinkPHP6 文件上传
    内置文件上传使用\think\facade\Filesystem类封装方法 目录 简单上传 public存储文件  文件验证 命名规则 使用sha1 使用MD5 使用date 指定文件名称 自定义命名规则 更多上传设置 总结   ...
    99+
    2023-09-14
    php thinkPHP 文件上传
  • PHP---文件上传
    目录 一、文件上传的概念 二、文件上传的步骤 (1)表单的制作 三、$_FILES详解 (1)name (2)tmp_name (3)type (4)error (5)size  四、移动临时文件到目标位置  五、多文件上传 (1)同名表单...
    99+
    2023-09-03
    服务器 运维 php
  • Spring boot实现文件上传实例(多文件上传)
    文件上传主要分以下几个步骤:(1)新建maven java project;(2)在pom.xml加入相应依赖;(3)新建一个表单页面(这里使用thymleaf);(4)编写controller;(5)测试;(6)对上传的文件做一些限制;(...
    99+
    2023-05-31
    spring boot 文件上传
  • Cherrypy文件上传非ASCII文件
    Cherrypy 版本: 18.0.1 由于某些特殊原因(可能是与标准兼容的问题),Cherrypy对上传文件的原文件名使用 ISO-8859-1 编码方式解码,导致非 ASCII 的文件名显示为乱码。 解决的方式也很简单,只需要对文件名...
    99+
    2023-01-30
    文件上传 文件 Cherrypy
  • Python ftp上传文件
    以下代码比较简单,对python实现ftp上传文件相关知识感兴趣的朋友可以参考下 #encoding=utf8 from ftplib import FTP #加载ftp模块 IP = '103.240...
    99+
    2022-06-04
    上传文件 Python ftp
  • SpringMVC的文件上传
    6.SpringMVC的文件上传 6.1-SpringMVC的请求-文件上传-客户端表单实现(应用) 文件上传客户端表单需要满足: 表单项type=“file” 表单的提交方式是post 表单的...
    99+
    2023-08-31
    java 前端 servlet
  • bugku-web-文件上传
    题目没有太多的描述   简单明了 (它不想要PHP文件) 上传一个其他类型试试看  被拦截了 回想之前我们做过的题目  不可以上传 php文件 说明一共存在三个过滤 请求头部的 Content-Type文件后缀请求数据的Content-...
    99+
    2023-09-13
    php 开发语言 安全 burp 网络
  • 文件上传漏洞
    目录 前言 1.原理 2.类型 3.复现 3.1环境 3.1.1函数介绍 3.2过程 3.2.1客户端绕过 3.2.2服务端绕过         黑名单检查后缀         白名单检查后缀 前言 文件上传漏洞是wb安全中经常用到的一...
    99+
    2023-09-03
    安全 网络 web安全 php
  • CTFHub-Web-文件上传
    目录 知识点 一、无验证 二、前端验证 三、.htaccess 1、题目简介 2、解题思路 3、解题:上传htaccess文件==》上传符合我们重新后规则的文件==》蚁剑连接 四、MIME绕过 1、知识点 2、解题思路  五、文件头检查 六...
    99+
    2023-09-05
    php 安全 开发语言 前端 web安全
  • 用Python上传文件
    Python正在吞噬这个世界!您会发现许多热情的Python程序员和同样多的批评者,但不可否认的是,Python在当今软件开发中是一个强大的、相关的、不断增长的力量。 Python只是一种语言,语言不能解决业务问题,如工作流、体系结构和物流...
    99+
    2023-01-31
    上传文件 Python
  • python ftp 上传文件
    python  ftp 上传文件 #!/usr/bin/env python #-*- coding: utf-8 -*- from ftplib import FTP       #调用 模块 i...
    99+
    2023-01-31
    上传文件 python ftp
  • PHP cURL 文件上传
    本篇文章将指导如何使用 cURL 和 CURLFile 类将图像文件发送到服务器。 这个想法是将图像文件从一个页面发布到另一个页面上的另一个页面。 Index.php:首先,我们将文件 i...
    99+
    2024-02-27
  • Asp.Net上传文件并配置可上传大文件的方法
    ASP.NET 包含两个控件可以使用户向网页服务器上传文件。一旦服务器接受了上传的文件数据,那么应用程序就可以进行保存,进行检查或者忽略它。 HtmlInputFile -...
    99+
    2024-04-02
  • Web如何实现点击图片弹出上传文件窗口
    这篇文章主要介绍Web如何实现点击图片弹出上传文件窗口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码如下:<style> .fileInputContainer{ height:2...
    99+
    2023-06-08
  • java如何上传文件
    一:准备好前台页面Upload.html表单 action=上传文件后台接口 method=“post”enctype=“multipart/form-data”,文件输入框 二:加入相应的jar包三:准备接收文件Se...
    99+
    2019-03-25
    java基础 java 上传 文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作