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

文件操作--文件下载读取漏洞

 本文主要内容

文件下载

        产生

                任意语言代码下载功能函数

        检测

                白盒        代码审计

                黑盒        漏扫工具、公开漏洞、手工看参数值及功能点(资源下载)

        利用

                常见文件        后台首页日志等可见文件

                敏感文件        数据库配置文件、各种接口文件、密匙信息等文件

                ## 没太搞懂

        修复        部署WAF产品、固定目录或过滤跨目录符号、目录权限设置或单独文件权限设置

文件读取

        产生        

                任意言代码获取功能函数
        检测        

                手工看参数值及功能点(资源获取)
        利用


        修复

火狐渗透版下载

1.文件被解析,则是文件包含漏洞
2.显示源代码,则是文件读取漏洞
3.提示文件下载,则是文件下载漏洞

两种漏洞简述

文件读取漏洞(Arbitrary File Read)

原理: 文件读取漏洞是指攻击者能够通过应用程序读取服务器上任意文件的内容。这种漏洞通常发生在应用程序对用户输入的文件路径没有进行严格的验证和过滤时。攻击者可以通过构造恶意的请求来利用该漏洞,读取他们本来无权访问的文件。

漏洞利用条件:

  1. 应用程序中存在读取文件的函数,如 fopen()file_get_contents() 等。

  2. 用户能够控制读取文件的路径。

  3. 应用程序没有对用户输入的路径进行严格的验证和过滤。

示例: 假设有一个应用程序,它允许用户通过 URL 参数来指定要读取的文件路径:

<?php
$file_path = $_GET['file'];
$file_content = file_get_contents($file_path);
echo $file_content;
?>

在这个示例中,攻击者可以通过构造恶意的 URL 来读取服务器上的任意文件。例如:

http://example.com/read.php?file=../../../../etc/passwd

这个请求将尝试读取 Linux 系统中的 /etc/passwd 文件。

文件下载漏洞(Arbitrary File Download)

原理: 文件下载漏洞是指攻击者能够通过应用程序下载服务器上任意文件。这种漏洞通常发生在应用程序对用户输入的文件路径没有进行严格的验证和过滤时。攻击者可以通过构造恶意的请求来利用该漏洞,下载他们本来无权访问的文件。

漏洞利用条件:

  1. 应用程序中存在下载文件的函数,如 readfile()fopen() 等。

  2. 用户能够控制下载文件的路径。

  3. 应用程序没有对用户输入的路径进行严格的验证和过滤。

示例: 假设有一个应用程序,它允许用户通过 URL 参数来指定要下载的文件路径:

<?php
$file_path = $_GET['file'];
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
readfile($file_path);
?>

在这个示例中,攻击者可以通过构造恶意的 URL 来下载服务器上的任意文件。例如:

http://example.com/download.php?file=../../../../etc/passwd

这个请求将尝试下载 Linux 系统中的 /etc/passwd 文件。

总结

  • 文件读取漏洞:攻击者能够读取服务器上的任意文件内容。

  • 文件下载漏洞:攻击者能够下载服务器上的任意文件。

两者的主要区别在于,文件读取漏洞是将文件内容直接输出到浏览器,而文件下载漏洞是将文件作为附件下载到本地。然而,它们的利用原理和条件是相似的,都是由于应用程序对用户输入的文件路径没有进行严格的验证和过滤。

文件下载

        漏洞利用


        访问是代码执行,下载是看到的文本

        数据库配置文件下载或读取后续、接口密匙信息文件下载或读取后续

        使用工具

        1.扫描工具爬行或扫描地址
        2.下载好的文件代码中去分析路径和包含文件获取

        手动观察

        #文件名,参数值,目录符号
        read.xxx?filename=        、down.xxx?filename=       

        readfile.xxx?file=             、downfile.xxx?file=
        灵活运用   .\.\./等
        %00?%23%20.等
        &readpath=、&filepath=、&path=、&inputfile=

        &url=、&data=、&readfile=、&menu=、META-INF= 、WEB-INF

        实际案例


                一个购物网站

下载漏洞在哪里测?下载漏洞怎么判断存在?

                eazy java做题

                小米路由器-文件读取真实测试

                        参考

小米路由器远程任意文件读取漏洞(CVE-2019-18371)-CSDN博客https://blog.csdn.net/holen_/article/details/122706875https://blog.csdn.net/holen_/article/details/122706875

                百度杯2017二月-Zone真题复现 

                        参考

“百度杯”CTF比赛 2017 二月场 Zone_百度杯2017二月 zone-CSDN博客文章浏览阅读713次。这是涉及burp抓包,文件包含或者文件读取,目录遍历,和nginx的配置文件的一个题目。_百度杯2017二月 zone https://blog.csdn.net/rfrder/article/details/108547743

http://www.xdnf.cn/news/260713.html

相关文章:

  • JavaScript基础-赋值运算符
  • python数据分析(七):Pandas 数据变形与重塑
  • DeepSeek实战--AI技术架构(持续更新)
  • Performance API 性能上报
  • 2025年- H21-Lc129-160. 相交链表(链表)---java版
  • 字符和编码(python)
  • 依赖倒置原则(DIP)
  • 实战交易策略 篇二十二:情绪流龙头交易策略
  • 特殊运算符详解:身份运算符、成员运算符与三目运算符
  • 位运算符详解:从入门到精通
  • 【C++】红黑树迭代版
  • 算法技巧——打表
  • 双向链表详解
  • 如何在纯C中实现类、继承和多态(小白友好版)
  • 测试——用例篇
  • 计算机启动流程中,都干了啥事。比如文件挂在,操作系统加载,中断向量表加载,磁盘初始化在哪阶段。
  • 动态思维——AI与思维模型【91】
  • python入门(1)变量与输入输出
  • 传奇各职业/战士/法师/道士/项链爆率及出处产出地/圣战/法神/天尊/魔血/祈福/探测/技巧/虹魔/祈祷
  • 在网鱼网吧测试文件试验成功
  • 第 8 篇:B/B+ 树:为海量磁盘数据而生
  • 腾讯云服务器:bgp服务器搭建要怎么做?bgp服务器的应用有哪些?
  • 第 3 篇:有序的世界:有序表 (TreeMap/TreeSet) 的概念与优势
  • 【大模型面试每日一题】Day 6:分布式训练中 loss 出现 NaN,可能原因及排查方法?
  • whl文件名后缀
  • 【Shell编程】条件表达式中[]和[[]]的区别
  • 截图软件、画图软件、左右分屏插件、快捷键
  • 小刚说C语言刷题—1018三角形类别
  • 快速将FastAPI接口转为模型上下文协议(MCP)!
  • Visionatrix开源程序可以简化您的 AI 图像生成工作流程 - Visionatrix 是一个基于 ComfyUI 构建的直观界面