文件操作之文件下载(32)

news2025/2/1 6:36:22

下载和读取是差不多的情况在这里插入图片描述

 区分

文件被解析,我们称为文件包含漏洞

显示文件的源代码,我们称为文件读取漏洞

提示文件下载,我们称为文件下载漏洞

#文件下载

文件下载出现的原因,在任意代码里面出现下载性的功能性函数所导致的, 

检测的话也是分为白盒和黑盒两种,白盒就代码审计(分析代码),黑盒跟文件包含一样三点,漏洞扫描,一些的公开漏洞对比,还有网站的参数值和功能点(资源下载)

利用,我们一般会下一些常用文件,首页文件,后台文件,日志文件,这种我们统称为可见文件,可见文件就是通过扫描工具或者目录爬行工具能够直接找到文件对应地址,名字叫什么。

一般下载也会下载一些敏感文件,关于数据库的配置文件,各种接口文件,有密匙信息的文件。比如一些网站配置了邮箱自动发送,第三方的接口,这个一般就会配置信息,而那个文件就有记录,接口的一些密匙。如果这些能下载到的话就能到一些敏感信息,

而我们下载出来的文件,都是对我们后续渗透有帮助的,比如我们想得到数据库,下载数据库配置信息,就会得到数据库的账户密码,之后就可以尝试连接他的当前的数据库的,在数据库里面找到网站的相关账号密码后台账户密码,危害相对小一些。

#文件读取漏洞

进行文件读取,获取文件的一个文件的真实代码,产生也是任意代码里面有关于读取性的功能性函数

#打开pikachu靶场演示一下文件下载

我们随便点击一个图片就可以下载,然后看一下下载地址,和图片的地址有没有什么联系。

 这样子我们访问最下面那个地址,就能下载到文件,

 这就下载成功了。

然后我们就可以根据源代码的一些提示,可以一步步下载类似文件。我们也可以通过目录爬虫得到他的已知文件,敏感文件要知道她的绝对路径才行,这个可以通过文件扫描,或者下好的文件代码里面去分析,代码也会涉及到类似文件,

 现在就去下载这个文件去试试

 跳两级之后按理来说已经到了pikachu目录,可以下载出来,但是并没有,我们再打开源代码分析一下

 所有这个时候我们两个跨级知道了vul目录下,因为还有个download默认下载地方,所以我们还要在跳一级,才能到pikachu目录下面,

 下载了

 在真实环境这个文件可以下载,就更应该去下载一些敏感文件,

问:数据库配置文件是怎么知道的呢,

1,利用扫描工具爬行或者扫描地址跑,比如御剑

2,下载好的文件去分析路径和包含文件获取

就是下载好的文件去翻看它的源码,有没有包含路径或者路径,扫描工具也是可以扫描到的,

演示一下用工具去扫描,这里用的是铸剑

 这里扫描到了一个inc,

 里面有个config这是因为我的字典比较少,换一个好点的绝对会扫描到config,下载这个config文件打开看看,下载路径下载之后打开看完之后就是所有的信息,账户密码  ht  tp://127.0.0.1/pikachu/vul/inc/config.inc.phphttp://127.0.0.1/pikachu/vul/inc/config.inc.php

所以这个文件下载就是利用这个漏洞,文件扫描出来一些敏感文件地址,下载一些敏感的文件,然后获取到需要的信息,给进一步渗透提供辅助条件。

这么去判断寻找文件下载漏洞

手工去看参数值和功能点(资源下载),

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

完全这种文件命名的时候,一定要注意后满的参数值,

这个文件下载是通用的

下载文件和文件读取漏洞

对应文件:配置文件(数据库,平台,各种等等)有很多文件都可以尝试下的,除了配置文件,关于系统有的默认东西,都有,在网上搜一下,下载漏洞 对应文件

这都是可以试着下载的,

打开测试靶场

 这个网站有下载漏洞,我们就测试一下有没有下载漏洞

 随便下载一个东西

 

 

 下载链接s=base64加密值,拿去解密一下试试

 

 完整地址,base64加密只是为了迷惑

 访问这个地址的时候就会下载那个软件,为了测试可不可以下载别的,所以在这个网站里面找一下down下面的别的东西,图片什么的都可以 ,只要在那个dwon之下,查看网站的数据找一下

 这个大概率是可能有文件下载漏洞,老师因为时间缘故没有找到是什么源码,假如是php源码,就去下载个文件,就用上面的方法base64加密之后,再去访问,因为他的程序里面会解码一次,

这个案列就告诉我们,下载漏洞去哪里测试,下载漏洞这么判断存在

就去找有下载功能的,然后看参数值。

#RoarCTF考题(需登录) 

 打开靶场

 然后下面那个help复制一下链接

 就是这个网站,我们可以看到filenam=help.docx,这就是一个典型的文件下载,参数去传递个help.docx,我们肯定要测试一下

 访问完之后提示,未发现这个文件,help.docx丢失,这个是什么原因造成的,这个和java的开发有关,文件下载参数一般会以post传递,而我们用的get传的,所以换成post方式,

 然后就下载好了,我们打开这个文件看看,

 javaweb开发里面有一个配置文件,叫WEB-INF/web.xml,可以在网上搜关于这个文件它的含义,他这个里面就有网站的配置信息,去下载这个配置文件。

 然后用burp抓包,再去放那个网站,在重发器里面再发一次就可以看到对应的文件信息

 

 就有这个flag文件,然后去访问他会报错,没用一般文件目录错误,需要去找她的一般文件,这就涉及到web组成的架构信息了

 一般就是看他的控制器,

 对应的目录应该是,

 我们看一下就下载到了,文件然后用burp抓包,在重发器里面看一下

这就是通过上传漏洞进行的flag的提取,这个就是通过网站上面某一个地址和文件下载参数相关,考的是java的。

#百度杯2017二月-Zone真题复现-比赛拓展

打开靶场

 点一下左上角的mini-zone就会出现如下的提示

 所以登录之后肯定有点东西,我们这里运用文件下载去,再点击刚刚那个按钮

 

 再点击那个manage,然后抓住数据包,再修改为1,发送出去

 

 这个数据包是关键,上面写着

ss

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/631443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

调用腾讯API实现人像分割

目录 1. 作者介绍2.腾讯云API人像分割2.1 人像分割接口描述2.2 请求参数介绍 3.代码实现3.1 获取SecretId和SecretKey3.2 人像分割代码调试3.3 完整代码3.4 实验结果 1. 作者介绍 岳泽昂,男,西安工程大学电子信息学院&#xff0c…

MySQL主从同步——主库已有的数据如何到从库

一、复制主库数据到从库 此步骤主要针对运行一段时间的主库,需要将历史数据导入到从库,保证主从强一致性。 主库锁表停止写操作 在主库MySQL命令行中执行 flush tables with read lock; 主库数据导出 将主库所在主机命令行下使用mysqldump命令导出…

交通状态分析 | Python实现基于张量分解的交通流量时空模式挖掘

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 交通状态分析 | Python实现基于张量分解的交通流量时空模式挖掘 研究内容 一般出行行程通常都由某种明确目的驱使,例如上班、购物或娱乐,出行的起始区域因其承担功能的不同,通常能够反映出用户的出行目…

【一、Linux文件与目录结构】

1 Linux 文件 Linux系统中一切皆文件 2 Linux目录结构 /bin Binary的缩写,存放着命令。 /sbin s即Super User,存放着root用户使用的系统管理程序。 /home 存放着普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般…

近期学习论文总结 3(23.06.05-23.06.09)

公众号:EDPJ 目录 0. 摘要 1. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization 1.1 主要思想 1.2 AdaIN 1.3 结构以及不同层使用 AdaIN 的效果 2. Watch your Up-Convolution: CNN Based Generative Deep Neural Networks are…

day46_项目

debug bug - 虫 第一台计算机,房子那么大,机械零件,齿轮,坏了,虫子(bug)卡着机器,debug(调试),虫子拿走了,机器就运行了,从此调试机器程序–>debug 目前: 这个卡机器的虫子,在博物馆 工具(IDEAEclipse)支持debug --> 追踪代码 如何使用debug 运行时候就得使用debug模式…

00后从事软件测试一年的心路历程

初识软件测试 不知不觉,我做软件测试已经快一年了,入职第一天的场景仿佛还在昨天。入职前,我对测试的认识仅仅停留在一些软件测试和测试方法的理论知识上,最多也是对自己的代码进行一些单元测试。 我之前所理解的测试是与开发分…

Django-可重用注册登录系统--项目搭建

文章目录 一、项目开始前的思考二、搭建项目环境三、设计数据库模型数据库模型文件设置数据库后端注册app生成迁移脚本并写入数据库测试是否成功数据库模型后台管理 路由与视图函数框架搭建路由配置视图函数的配置模板template的配置测试是否成功 前端界面设计与优化完善登录的…

【C/C++】函数参数默认值

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

【python+requests】接口自动化测试

这两天一直在找直接用python做接口自动化的方法&#xff0c;在网上也搜了一些博客参考&#xff0c;今天自己动手试了一下。 一、整体结构 上图是项目的目录结构&#xff0c;下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类&#xff0c;比如数据库sql…

VPN(Virtual privacte network)浅谈

文章目录 VPN概念VPN类型站点-站点VPN客户端-站点VPN VPN的工作原理VPN职责职责一&#xff1a;保密完整性认证PSK算法实现&#xff08;献给大佬&#xff09;PSK应用演示RSA算法实现&#xff08;献给大佬&#xff09;RSA应用演示&#xff1a;实现签名 VPN两大框架VPN的误解VPN合…

Java调用Pytorch实现以图搜图(附源码)

Java调用Pytorch实现以图搜图 设计技术栈&#xff1a; 1、ElasticSearch环境&#xff1b; 2、Python运行环境&#xff08;如果事先没有pytorch模型时&#xff0c;可以用python脚本创建模型&#xff09;&#xff1b; 1、运行效果 2、创建模型&#xff08;有则可以跳过&#xf…

经典目标检测YOLO系列(1)YOLO-V1算法及其在VOC2007数据集上的应用

经典目标检测YOLO系列(1)YOLO-V1算法及其在VOC2007数据集上的应用 1 YOLO-V1的简述 1.1 目标检测概述 ​ 目标检测有非常广泛的应用&#xff0c; 例如&#xff1a;在安防监控、手机支付中的人脸检测&#xff1b;在智慧交通&#xff0c;自动驾驶中的车辆检测&#xff1b;在智…

TCP与UDP的可靠性传输

目录 一、TCP可靠性传输1、重传机制1.1、超时重传1.2、快速重传1.3、SACK1.4、Duplicate SACK 2、滑动窗口3、流量控制3.1 滑动窗口与流量控制3.2窗口关闭 4、拥塞控制4.1拥塞窗口4.2 慢启动4.3 拥塞避免4.4 拥塞发生4.5 快速恢复 二、UDP可靠性传输1、主要策略2、重传机制2.1 …

软件测试03:软件工程和软件生命周期

软件测试03&#xff1a;软件工程和软件生命周期 软件危机 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求&#xff0c;从而导致软件开发与维护过程中出现一系列严重问题的现象。 软件工程 基本软件危机对于计算机发展的阻碍&#xff0c;1968年&#xff0…

史上最详细的安装Kali-linux教程(附视频教程)

之前不少人问kali怎么安装&#xff0c;今天就发一篇利用VM虚拟机安装kali的详细教程&#xff0c;每一步都截图了&#xff0c;让大家尽可能的清楚每一步的操作。 1.2 使用 VM 虚拟机安装 Kali 1.2.1 官方下载 Kali Linux 官方网址&#xff1a;http://www.Kali.org 下载方式分…

跨域 —— 反向代理配置

跨域问题在讲Node.js学习中编写接口的时候就已经讲到了&#xff0c;由后端配置解决跨域问题&#xff0c;使用cors中间件解决跨域问题以及使用JSONP解决跨域&#xff08;仅支持GET请求&#xff09;&#xff0c;具体可以看一下这篇文章的内容&#xff1a;十二、Express接口编写 —…

python面向对象操作3(速通版)

目录 一、多态和类名 1.标准多态 2.实例属性和实例方法 3.类对象和类属性 4.对象保存 二、方法 1.类方法 3.四种方法的区别 三、模块 1.导入模块 2.自动模块导入 3.模块导入的几种形式 3.1模块导入的两种方式和别名 3.2 from 模块 import 成员 4.两种方法的区别…

【运筹优化】最短路算法之A星算法 + Java代码实现

文章目录 一、A星算法简介二、A星算法思想三、A星算法 java代码四、测试 一、A星算法简介 A*算法是一种静态路网中求解最短路径最有效的直接搜索方法&#xff0c;也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近&#xff0c;最终搜索速度越快。 二、A星算…

day52_Spring

今日内容 零、 复习昨日 一、Spring 零、 复习昨日 一、引言 以前 public class HelleServlet extends HttpServlet{UserService service new UsrServiceImpl();void doGet(){service.findUser();} }public interface UserService{User findUser(); } public class UserServ…