web文件上传漏洞的示例分析

文件上传功能模块

文件上传功能是大部分WEB应用的必备功能,网站允许用户自行上传头像、一些社交类网站允许用户上传照片、一些服务类网站需要用户上传证明材料的电子档、电商类网站允许用户上传图片展示商品情况等。然而,看似不起眼的文件上传功能如果没有做好安全防护措施,就存在巨大的安全风险。

web文件上传漏洞的示例分析

文件上传漏洞原理

当用户在在文件上传的功能模块处上传文件时,如果WEB应用在文件上传过程中没有对文件的安全性进行有效的校验,攻击者可以通过上传WEBshell等恶意文件对服务器进行攻击,这种情况下认为系统存在文件上传漏洞。

文件上传漏洞—webshell

最常见的文件上传漏洞的方法是上传网站木马(webshell)文件,WEBSHELL又称网页木马文件,根据开发语言的不同又分为ASP木马、PHP木马、JSP木马等,该类木马利用了脚本语言中的系统命令执行、文件读写等函数的功能,一旦上传到服务器被脚本引擎解析,攻击者就可以实现对服务器的控制。

网站木马(webshell)文件又分为大马和小马(一句话木马)、图片马等

大马:功能比较善,配合浏览器使用;代码量通常较大;隐蔽性相对较弱,代码量大,通常需要通过加密等方式来隐藏特征。

小马:功能简单,需要配合客户端使用;代码量通常较小;隐蔽性相对较强,容易通过变形隐藏特征,绕过过滤,通常与cknife工具一起使用。

图片马:当网站限制只能上传图片相关格式的时候,攻击者无法绕过限制即可尝试利用图片马来实现webshell操作。

文件上传漏洞绕过限制

一句话木马类似于<?php eval($_POST[‘v’]); ?>,将该木马文件通过文件上传模块上传到服务器。$_POST[‘v’]里面的参数v就是我们的可以利用的参数,我们将我们要执行的指令通过参数v传到服务器来执行;或者利用cknife工具来实现操作目标服务器。

(一)该网页上传形式收到限制,需要符合jpg、jpeg、JPG、JPEG这几个类型格式,所以将原来的格式改为1.jpg格式(服务端校验)

web文件上传漏洞的示例分析

打开burp suite软件拦截数据包,将文件名改为1.php,这样才能运行php脚本,不然jpg后缀的文件虽然能够上传,但是没用运行的功能。

web文件上传漏洞的示例分析

web文件上传漏洞的示例分析

在hackbar插件中定义v=phpinfo();可以查看php当前状态的大量信息

web文件上传漏洞的示例分析

(二)这个页面限制了上传的格式(MIME),需要将文件格式改为JPEG或者PNG(服务端校验)

web文件上传漏洞的示例分析

用burp suite拦截信息,将content-Type改为image/png

web文件上传漏洞的示例分析

用hackbar工具定义参数v=phoinfo();查看php状态信息

web文件上传漏洞的示例分析

(三)该页面对文件后缀进行了筛选,对php类型的文件不进行接受(服务端校验)

web文件上传漏洞的示例分析

打开burp suite软件拦截信息,将文件名改为1.PHp,绕开web服务器的识别

web文件上传漏洞的示例分析

用hackbar定义v=system(ipconfig);

web文件上传漏洞的示例分析(四)使用截断的方式将jpg截断。1.php%00.jpg,%00用ctrl+shift+u来编译。

web文件上传漏洞的示例分析1.php%00.jpg,%00用ctrl+shift+u来编译

web文件上传漏洞的示例分析

用hackbar工具定义参数v=phoinfo();查看php状态信息web文件上传漏洞的示例分析(五)该网页只允许上传图片,修改后缀名无效

web文件上传漏洞的示例分析

上传b374k.jpg图片马,登入的密码为b374kweb文件上传漏洞的示例分析

利用浏览器即可使用图片马进行webshell操作

web文件上传漏洞的示例分析(六)该网页允许上传的类型有jpg,jpeg,png,gif,7z。可以利用apach识别不了后缀名时,从后往前识别扩展名的方式,将1.jpg通过burp改为1.php.7z,则变成压缩形式的文件。

web文件上传漏洞的示例分析

通过burp软件抓包将1.jpg通过burp改为1.php.7z,则变成压缩形式的文件。

web文件上传漏洞的示例分析

用hackbar工具定义参数v=phoinfo();查看php状态信息

web文件上传漏洞的示例分析

文件上传漏洞在web安全里面算是比较常见且危害较大的漏洞,建站厂商可以在此方面增加防范力度:如加强文件后缀名黑名单的范围;对上传文件的名字进行随机修改;上传文件的临时目录和保存目录不允许执行权限等。

以上就是web文件上传漏洞的示例分析的全部内容了,更多与web文件上传漏洞的示例分析相关的内容可以搜索亿速云之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下亿速云!

文章标题:web文件上传漏洞的示例分析,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/28982

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年9月22日 下午10:17
下一篇 2022年9月22日 下午10:18

相关推荐

  • 2024年9款优质CRM系统全方位解析

    文章介绍的工具有:纷享销客、Zoho CRM、八百客、红圈通、简道云、简信CRM、Salesforce、HubSpot CRM、Apptivo。 在选择合适的CRM系统时,许多企业面临着功能繁多、选择困难的痛点。对于中小企业来说,找到一个既能提高客户关系管理效率,又能适应业务扩展的CRM系统尤为重要…

    2024年7月25日
    2000
  • 数据库权限关系图表是什么

    数据库权限关系图表是一种以图表形式展示数据库权限分配和管理的工具。它可以有效地帮助我们理解和管理数据库中的各种权限关系。数据库权限关系图表主要包含以下几个部分:数据对象、用户(或用户组)、权限类型、权限级别、权限状态等。其中,数据对象是权限关系图表中的核心元素,它代表了数据库中的各种数据资源,如表、…

    2024年7月22日
    200
  • 诚信数据库是什么意思

    诚信数据库是一种收集、存储和管理个人或组织诚信信息的系统。它是一种用于评估和管理个人或组织行为的工具,通常由政府、商业组织或者非营利组织进行运营。诚信数据库的主要功能包括:1、评估个人或组织的诚信状况;2、提供决策支持;3、预防和控制风险;4、促进社会信用体系建设。 在这四大功能中,评估个人或组织的…

    2024年7月22日
    400
  • 数据库期末关系代数是什么

    关系代数是一种对关系进行操作的代数系统,是关系模型的数学基础,主要用于从关系数据库中检索数据。其操作包括选择、投影、并集、差集、笛卡尔积、连接、除法等。其中,选择操作是对关系中的元组进行筛选,只保留满足某一条件的元组;投影操作则是从关系中选择出一部分属性构造一个新的关系。 一、选择操作 选择操作是关…

    2024年7月22日
    700
  • mysql建立数据库用什么命令

    在MySQL中,我们使用"CREATE DATABASE"命令来创建数据库。这是一个非常简单且基础的命令,其语法为:CREATE DATABASE 数据库名。在这个命令中,“CREATE DATABASE”是固定的,而“数据库名”则是你要创建的数据库的名称,可以自己设定。例如,如…

    2024年7月22日
    500
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部