当前位置: 首页 > article >正文

【网络安全】-文件下载漏洞-pikachu

文件操作漏洞包括文件上传漏洞,文件包含漏洞,文件下载漏洞。

文章目录 

前言  什么是文件下载漏洞?

1.常见形式:

  常见链接形式:

  常见参数:

2.利用方式:

3.举例:pikachu不安全的文件下载

4.逆向:

5.防护策略:

总结


前言  什么是文件下载漏洞?

网站对用户查看和下载文件不做限制,使hacker可以利用利用这些文件进行提权操作,完全控制服务器,进而以服务器为跳板攻击网站其他系统,进一步扩大攻击范围。


1.常见形式:

常见链接形式:
download.php?path=

down.php?file=

data.php?file=

download.php?filename=
常见参数:
&src=

&inputfile=

&path=

&data=

通常情况下,在某网站上看见以上链接或参数,该网站极有可能具有文件下载漏洞。

2.利用方式:

1.下载常规的配置文件

2.下载各种.log文件

3.下载业务文件进行代码审计,找出漏洞进一步打下服务器

3.举例:pikachu不安全的文件下载

我们点击下载,

右击复制下载链接:

科比:http://pikachu-master/vul/unsafedownload/execdownload.php?filename=kb.png

其它同理。

艾伦:http://pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png

发现链接形式(execdownload.php?filename=)

与文件下载漏洞(download.php?filename=)相符。

证明我们可以在此构造url下载服务器/本地的任意文件。

服务器:对皮卡丘网站,它都服务器为搭建皮卡丘靶场的盘(我的是D盘)

本地:C盘。

分析:

url:http://pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png

对应D:\phpstudy_pro\WWW\pikachu-master\vul\unsafedownload\download

1.我们在pikachu-master/vul/unsafedownload/路径下添加一个图片a.png

返回靶场下载:

http://pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png

下载成功。

2. 我们在pikachu-master路径下添加一个图片a.png

返回靶场下载:

http://pikachu-master/vul/unsafedownload/execdownload.php?filename=../../../a.png

向上../返回三个目录

下载成功。

接着我们试试其它文件

http://pikachu-master/vul/unsafedownload/execdownload.php?filename=../../../.DS_Store

下载成功。

4.逆向:

通过改变download.php?filename=的路径我们可以下载/pikachu-master/vul/unsafedownload/三个目录中的任意文件。

5.防护策略:

严格的验证和过滤:只允许下载经过白名单列出的特定文件类型,这可以有效阻止用户下载私密文件。

随机文件名和存储路径:为上传和下载的文件生成随机的文件名和存储路径,以防止攻击者预测或猜测文件的存储位置。

使用防火墙:防火墙waf可以记录所有文件下载行为,进而阻止那些试图绕过正常访问控制或下载敏感文件的请求。


总结

文件上传漏洞是指hacker利用网站或web应用系统中用户上传文件的功能,在上传过程中上传恶意文件,这些恶意文件在服务器端被解析时产生漏洞,从而导致攻击者能够在服务器上执行任意代码的一种安全漏洞。


http://www.kler.cn/a/299954.html

相关文章:

  • MySQL数据库批量插入包含uuid的数据
  • windows平台通过命令行安装前端开发环境
  • Linux网络之TCP
  • 从零到一:Spring Boot 与 RocketMQ 的完美集成指南
  • Jetson Xavier NX 安装 CUDA 支持的 PyTorch 指南
  • 2025.1.20——一、[RCTF2015]EasySQL1 二次注入|报错注入|代码审计
  • 常用的 CMD 指令及其功能
  • 2024软件测试面试题及答案
  • 每日一练8:dd爱框框(含链接)
  • 【网络安全】-文件上传漏洞实战-upload-labs(0~16)
  • Python 内置的一些数据结构
  • Groovy -> Groovy 集合操作
  • 【数据结构】二叉树的前中后序遍历以及层序遍历(全解)
  • PostgreSQL中的多版本并发控制(MVCC)深入解析
  • 会话好友区设计与开发(二)
  • 自然语言处理系列六十九》搜索引擎项目实战》搜索框架技术选型
  • 常见 HTTP 状态码详解与Nginx 文件上传大小限制
  • C++复习day08
  • SpringCache之本地缓存
  • 自动化抢票 12306
  • 苹果iOS/ iPadOS18 RC 版、17.7 RC版更新发布
  • Mybatis-Plus笔记
  • Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决
  • FIFO求和实验
  • 电脑点击关机之后,又自动重启开机了。根本就关不了?
  • 关于Python爬虫的基础知识