32 WEB漏洞-文件操作之文件下载读取全解
目录
- 介绍
- 利用
- 获取数据库配置文件
- 文件名,参数值,目录符号
- 涉及案例:
- Pikachu-文件下载测试-参数
- Zdns-文件下载真实测试-功能点
- 小米路由器-文件读取真实测试-漏洞
- RoarCTF2019-文件读取真题复现-比赛
- 百度杯2017二月-Zone真题复现-比赛拓展

下载和读取都差不多,只是有时候它的显示有点问题
1.文件被解析,则是文件包含漏洞
2.显示源代码,则是文件读取漏洞
3.提示文件下载,则是文件下载漏洞
#文件下载,读取
原理,检测
介绍
使用目录爬取工具,能够直接找到文件对应地址的,这个时候,我们可以通过下载漏洞去下这些文件,这些都是常见文件,一般下载的话,会下载敏感文件
密匙文件:类似密码的文件
这些信息文件能够下载下来的话,就能够得到相关敏感信息,这些敏感信息对于我们后续的渗透是非常有帮助的,这个漏洞是不会影响到权限的丢失,因为一旦有文件下载漏洞的话,我们可以通过这个漏洞下载我们想要的文件,但想要的文件通常是敏感文件或许说对后续渗透有帮助的。比如说得到数据库的配置文件、账号密码,那如果得到账号密码,是可以尝试连接当前数据库的,在数据库里面找到关于网站的相关数据,其中就有网站的相关账号密码
文件下载漏洞和前面的几个漏洞比危害比较小一点,但是他也是一种漏洞
文件读取漏洞基本上都差不多,就是进行文件的读取,获取文件的一个真实代码
利用
数据库配置文件下载或读取后续
敏感文件,我们要知道他的绝对路径才行,但是那些文件一般可以通过扫描或者通过你下载好的文件里面的代码,去分析,代码里面也会涉及到类似文件
http://127.0.0.1:8080/pikachu/vul/unsafedownload/download/ai.pnghttp://127.0.0.1:8080/pikachu/vul/unsafedownload/execdownload.php?filename=../../../inc/function.phphttp://127.0.0.1:8080/pikachu/vul/unsafedownload/download/execdownload.php
…/是用来跨目录的,一般我们用文件下载漏洞来下载敏感文件
获取数据库配置文件
1.扫描工具爬行或扫描地址
2.下载好的文件代码中去分析路径和包含文件获取
可以探测到的文件、已经展示出来的文件,我们称之为可见文件。这些文件下载之后,我们可以去分析这些代码,在里面去翻有没有包含文件、涉及到其它文件,在去下载其它文件。
扫描工具可以扫描到一些常见的一些数据库配置文件地址
拿到数据库配置文件,对我们的渗透是有帮助的,我们就可以对这个数据库进行连接,但是有时候root是不支持外联的,只是说这是个问题,但是这不影响我们后续的一个过程。如果他不是root,我们是不是就可以连接了,而且他是root还是有点机率能连接的,因为数据库默认是root是不能连接,但是管理者可能为了方便,会把他开启,这个也说不准;如果不是root他应该是可以连接,我们直接连接到数据库上面直接得到这个网站上面的密码,就可以用这个账号密码做一些后续的测试了,所以你通过敏感文件是能够拿到下面敏感信息的
这个漏洞攻击就是简简单单,通过网站自身的一个下载功能,来下载一些关于网站的敏感文件
接口密匙信息文件下载或读取后续
文件名,参数值,目录符号
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-INE
文件接收的参数值,这些参数值将能决定是不是相应的漏洞,在利用的时候,我们一定要活学活用跨越目录的符号
漏洞是不在乎那个程序的,php也好,java也好。他是通用的,他是不会去考虑脚本不同,漏洞就不一样。都是一样的
我们直接访问后台代码文件和我这里去下载这个文件,看到的是不一样的,如果是一样的,那这种漏洞就不值一提了。
凡是像下载类的网站或者有这种功能的,通通可以测试有没有下载漏洞
涉及案例:
Pikachu-文件下载测试-参数
通过参数来发现漏洞,我们通过替换参数值来下载文件,这就是通过网站参数值来发现漏洞
Zdns-文件下载真实测试-功能点
有下载漏洞就有下载功能
http://down.znds.com/getdownurl/?s=L2Rvd24vMjAyMDA4MTQva2xrXzluMC4wLjJfZGFuZ2JlaS5hcGs=http://down.znds.com/getdownurl/?s=/down/20200814/klk_2.0.0.2_dangbei.apk
网站对下载的链接进行加密,完全是为了看不出来什么效果,因为这个值是加密的,你在分析的时候你就不知道是什么东西,是不是接上的是类似文件名、文件地址等等。但是当你解密出来的时候,会发现就是对应的一个文件下载
找一个跟文件域名相关的地址,在down下
我们要下载什么文件,我们这里就传输文件的绝对路径,如果网站的下载链接是加密的,我们就去加密
我们要下载的话要去下载脚本文件,像app文件就没有什么价值
在利用这个漏洞的时候,我们需要知道网站脚本的地址,如果不知道在后续的利用上有些困难,但是也不影响我们发现这个漏洞原因
他下载的链接是加密的,我们也得加密,不然无法识别;所以下载漏洞在找的时候,围绕网站下载功能的地方找,然后判断他有没有漏洞,就看他后面的参数,是不是可以进行修改,是不是接上的是文件的名字
小米路由器-文件读取真实测试-漏洞
这个漏洞的产生是多方位的,因为是真实的案例,不方便演示,大家感兴趣的话,可以自己下去玩一下
很多时候,我们去复现的时候,除了自己去搭环境,还可以用fofa去搜,目标是很多的,但是我不建议大家这样去测试,只是这个思路是这样子的
如果目标比较敏感的话,那就搞不好了
漏洞存在是多方面的,自己碰上具体目标的时候,也要学会利用各大公开网站上的poc,这样利用起来非常简单
RoarCTF2019-文件读取真题复现-比赛
打开是个登录框,一般常见的思维是尝试登录,可以先试一下弱口令进行登录,试一下有没有注入点,这些都属于前期的测试
http://40e7b2ba-d51b-4b9a-ab3c-5f34b75d18b3.node3.buuojcn/Download?filename=help.docx
如果我更改help.docx,他会不会去下载对应文件,这就是一个典型的文件下载功能传的一个参数help.docx文件
java开发的习惯,一般文件下载这种都是通过post传递

先下载配置文件,通过配置文件了解网站的文件和目录
这就是通过下载漏洞来进行flag的提取,这个漏洞就是通过网址上面的某一个地址,参数上面跟下载漏洞相关,然后具体分析到
百度杯2017二月-Zone真题复现-比赛拓展
下载或文件读取漏洞:
对应文件:配置文件(数据库,平台,各种等),优先选取和下载的,如果这种文件找不到的话,那就通过操作系统的默认文件来了解网站和服务器的情况。
我们要下载文件的话,我们要确定这种文件是否存在
操作系统的文件是默认会存在的:
https://xz.aliyun.com/t/6594

爬虫扫描地址-分析参数名参数值-文件操作安全-对应脚本
修改提交方式测试-读取WEB配置文件WEB-INE/web.xm1
访问读取对应地址-访问读取flag对应class文件-
(WEB-INF/classes/com/wm/ctf/FlagController.class)
在实战情况下,文件下载漏洞出现的概率没有sql、上传多,但是我们还是需要学习一下,有时候会有异想不到的情况
根据网站自身的一个类型,拿到一个网站和目标之后,我们要通过网站这个类型,要第一时间对漏洞要有自己的想法,有的网站有应用下载功能,像这种的话,出的安全问题,就在下载上面;博客网站上面没有下载,就不用去找下载漏洞,所以漏洞这些东西,都是跟应用点有关的。
相关文章:
32 WEB漏洞-文件操作之文件下载读取全解
目录 介绍利用获取数据库配置文件文件名,参数值,目录符号 涉及案例:Pikachu-文件下载测试-参数Zdns-文件下载真实测试-功能点小米路由器-文件读取真实测试-漏洞RoarCTF2019-文件读取真题复现-比赛百度杯2017二月-Zone真题复现-比赛拓展 下载和读取都差不…...
Linux之history、tab、alias、命令执行顺序、管道符以及exit
目录 Linux之history、tab、alias、命令执行顺序、管道符以及exit history历史命令 格式 参数 修改默认记录历史命令条数 案例 案例1 --- 显示history历史记录中出现次数最高的top10 案例2 --- 增加history显示的时间信息 命令与文件名补全 --- tab 命令别名 格式 案…...
vcomp100.dll丢失怎样修复?5个靠谱的修复方法分享
VCOMP100.DLL 是由微软打造的动态链接库,它对于一些图形密集型应用,例如Photoshop,以及多款知名游戏如巫师3的运行至关重要。 如果操作系统在启动应用程序时无法找到此vcomp100.dll,则会出现vcomp100.dll丢失或未找到错误。 如果D…...
Vue3自定义指令(directive)
文章目录 前言一、Vue3指令钩子函数二、自定义指令的两种方式1.局部使用例子1:鉴权例子2:拖拽 2.全局使用例子1:监听宽高指令例子2:监听是否出现在视口 总结 前言 此文章主要讲了vue3中自定义指令的使用,以及一些WebA…...
大数据课程L9——网站流量项目的实时业务处理代码
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握网站流量项目的SparkStreaming代码; ⚪ 掌握网站流量项目的HBaseUtil代码; ⚪ 掌握网站流量项目的MysqlUtil代码; ⚪ 掌握网站流量项目的LogBean代码; ⚪ 掌握网站流量项目的To…...
【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论
文章目录 一、爬取目标二、展示爬取结果三、爬虫代码四、同步视频五、附完整源码 您好,我是 马哥python说,一枚10年程序猿。 一、爬取目标 之前,我分享过一些B站的爬虫: 【Python爬虫案例】用Python爬取李子柒B站视频数据 【Pyt…...
mysql设置max_sp_recursion_depth,sql_mode
mysql 中设置 @@max_sp_recursion_depth select @@max_sp_recursion_depth; 今天在mysql 写存储过程递归调用时,发现老是报错(recovery limit 0(as set by the max_sp_recursion_depth));后来百度下发现 max_sp_recursion_depth设置不对; 这个修改涉及到全局和session级修…...
论文阅读:SERE: Exploring Feature Self-relation for Self-supervised Transformer
Related Work Self-supervised 学习目的是在无人工标注的情况下通过自定制的任务(hand-crafted pretext tasks)学习丰富的表示。 Abstract 使用自监督学习为卷积网络(CNN)学习表示已经被验证对视觉任务有效。作为CNN的一种替代…...
遥感数据与作物模型同化应用:PROSAIL模型、DSSAT模型、参数敏感性分析、数据同化算法、模型耦合、精度验证等主要环节
查看原文>>>遥感数据与作物模型同化实践技术应用 基于过程的作物生长模拟模型DSSAT是现代农业系统研究的有力工具,可以定量描述作物生长发育和产量形成过程及其与气候因子、土壤环境、品种类型和技术措施之间的关系,为不同条件下作物生长发育及…...
Navicat15工具连接PostgreSQL15失败
1.错误现象及原因 错误现象: 错误原因: postgresql 15版本中 pg_database 系统表把 datlastsysoid 列删除了,所以造成了此错误。 2.解决方法 (1)将Navicat工具更新到官网最新版本。 (2)更换…...
开源AI家庭自动化助手-手机控制家庭智能家居服务
产品简介 将本地控制和隐私放在首位的开源家庭自动化。由全球开发者和 DIY 爱好者社区提供支持。非常适合在 Raspberry Pi 或本地服务器上运行。 功能介绍 1. 控制面板在控制面板,你可以查看家庭的灯光,温度,门铃,音响…...
解决CSS定位错乱/疑难杂症的终极绝招==》从样式污染开始排查
我们接手他人或者第三方项目的时候,有时候会遇到一些莫名其妙的问题: 明明自己的样式写的没有问题,但是网页上却显示的乱七八糟的,或者效果完全出不来。 案例如下: 这里只用了很典型的flex弹性布局,并没有…...
【笔记】《C++性能优化指南》Ch3 测量性能
【笔记】《C性能优化指南》Ch3 测量性能 1. 优化思想1.1 专业的性能测试流程1.2 优化准则1.2.1 90/10规则1.2.2 Amdahl定律 2. 进行实验2.1 记实验笔记2.2 测量基准性能并设定目标2.3 你只能改善你能够测量的 3. 分析程序执行3.1 实现分析器的方式3.2 分析器的优缺点 4. 测量长…...
2023大数据面试总结
文章目录 Flink(SQL相关后面专题补充)1. 把状态后端从FileSystem改为RocksDB后,Flink任务状态存储会发生哪些变化?2. Flink SQL API State TTL 的过期机制是 onCreateAndUpdate 还是 onReadAndWrite?3. watermark 到底…...
udev自动创建设备节点的机制
流程框图如下 自动创建 1 内核检测到设备插入后,会发送一个uevent事件到内核中,并提供有关硬件设备的信息。 2 udevd守护程序收到uevent事件后,创建一个设备类,(向上提交目录信息),会在内核中…...
访问局域网内共享文件时报错0x80070043,找不到网络名
我是菜鸡 此篇只为分享一个我遇到的很简单的但是排查了好久的小问题。 我的网络环境是在校园网内, 自己的办公电脑设置了固定IP:10.11.128.236,同事电脑IP为:10.11.128.255 本人需要访问同事在局域网内分享的文件,…...
Java定时器
对于定时器的设定,想必大家在不少网站或者文章中见到吧,但是所谓的定时器如何去用Java代码来bianx呢??感兴趣的老铁,可以看一下笔者这篇文章哟~~ 所谓的定时器就是闹钟!! 设定一个时间&#x…...
科普js加密时出现的错误
当你在使用Babel解析JavaScript代码时,可能会遇到一个错误信息:“Deleting local variable in strict mode”(在严格模式下删除本地变量)。这个错误信息通常表示你正在尝试删除一个使用let或const关键字声明的变量。在JavaScript的…...
MYSQL优化——B+树讲解
B-/B树看 MySQL索引结构 B-树 B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树.它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。下图是 B-树的简化图. B-树有如下特点: 所有键值分布在整颗树中; 任何一…...
Rokid Jungle--Station pro
介绍和功能开发 YodaOS-Master操作系统:以交换计算为核心,实现单目SLAM空间交互,具有高精度、实时性和稳定性。发布UXR2.0SDK,为构建空间内容提供丰富的开发套件 多模态交互 算法原子化 多种开发工具协同 多生态支持 骁龙XR2…...
英飞凌IPOSIM在线仿真平台保姆级入门:从注册到生成第一份功率损耗报告
英飞凌IPOSIM在线仿真平台零基础实战指南:三步完成功率模块热评估 在电力电子设计领域,精确的功率损耗计算往往决定着系统可靠性。我曾见过一个光伏逆变器项目因热设计失误导致批量返修,仅仅因为工程师低估了IGBT模块在高温环境下的导通损耗。…...
工业设计必看:SolidWorks曲面建模中的NURBS核心原理与7个避坑指南(2024版)
工业设计进阶:SolidWorks曲面建模中的NURBS核心原理与高阶实践(2024版) 在汽车外壳的流线型曲面或消费电子产品的有机形态背后,NURBS(非均匀有理B样条)技术始终是工业设计软件的核心引擎。作为SolidWorks等…...
CLAP Zero-Shot Audio Classification Dashboard部署教程:HTTPS反向代理配置(Nginx)保障生产环境访问安全
CLAP Zero-Shot Audio Classification Dashboard部署教程:HTTPS反向代理配置(Nginx)保障生产环境访问安全 1. 为什么需要HTTPS反向代理 当你成功部署了CLAP音频分类应用后,可能会发现直接通过HTTP访问存在一些安全问题。在生产环…...
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署 1. 引言:欢迎来到NERV指挥中心 想象一下,你面前有一个能看懂图片、理解图表、甚至能和你讨论图片里发生了什么的智能助手。现在,我们把这个助手装进了一…...
【部署】windows下虚拟机OpenClaw Ubuntu 24.04.4 安装指南
未来已来,只需一句指令,养龙虾专栏导航,持续更新ing… 概述 前置环境:win10/11、vmware等虚拟机(安装时注意勾选VMware Tools、cpu可以分配2C,内存建议4G,硬盘空间建议给40G) 系统要求 Node.js 22+:安装脚本可自动检测并安装(下文补充手动安装方案); Ubuntu 24.0…...
图结构AI Agent记忆机制深度解析:小白/程序员必备,收藏学习大模型前沿技术!
图结构AI Agent记忆机制深度解析:小白/程序员必备,收藏学习大模型前沿技术! 本文深入解析了基于图结构的AI Agent记忆机制,揭示了LLM驱动AI Agent面临的三大局限:知识截断、工具 incompetence 和性能饱和。文章强调记…...
ssm+java2026年毕设司库管理系统【源码+论文】
本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于企业理财与融资管理问题的研究,现有研究主要以大型企业ERP系统或通用财务管理软件为主,专门针对中…...
气候降尺度全流程实战:从 CMIP6 数据到极端气候预估,科研人一站式通关
做水文气象、气候学、地理遥感、生态环境等领域的科研人,是不是都逃不过这些噩梦:尺度鸿沟难跨越:GCM 粗网格(>100km)和流域 / 城市精细尺度(<10km)不匹配,动力降尺度成本太高…...
STM32F103 LoRa物理层驱动库详解与工程实践
1. 项目概述LoRa_STM32 是一个面向 STM32F103CB 微控制器平台的 LoRa 通信库,本质是 sandeepmistry/arduino-LoRa 库在 STM32 平台上的适配分支。它并非独立开发的全新协议栈,而是通过 Arduino Core for STM32(rogerclarkmelbourne/Arduino_S…...
GitHub Desktop中文汉化终极指南:三分钟解锁全中文Git操作体验
GitHub Desktop中文汉化终极指南:三分钟解锁全中文Git操作体验 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop的英文界面而烦恼吗&am…...
