CTF:信息泄露.(CTFHub靶场环境)
CTF:信息泄露.(CTFHub靶场环境)
“ 信息泄露 ” 是指网站无意间向用户泄露敏感信息,泄露了有关于其他用户的数据,例如:另一个用户名的财务信息,敏感的商业 或 商业数据 ,还有一些有关网站及其基础架构的技术细节 等泄露信息。泄露敏感的用户或业务数据的危险相当明显,但是泄露技术信息有时可能同样严重,尽管某些信息用途有限,但它可能是暴露其他攻击面的起点,其中可能包含其他的漏洞。
目录:
CTF:信息泄露.(CTFHub靶场环境)
CTF:信息泄露:
(1)目录遍历:
(2)PHPINFO:
(3)备份文件下载:
1.网站源码:
2.bak文件
3.vim 缓存
4..DS_Store
(4)git 泄露:
1.Log
2.Stash
3.lndex
(5)SVN 泄露
(6)HG 泄露
CTF:信息泄露:
(1)目录遍历:
目录遍历是 Web 漏洞,该漏洞可以遍历服务器上的任意文件,可能包含用户数据、程序代码等敏感信息的泄露。漏洞原理是因为没有过滤用户输入的 ../ 相关的目录跳转符,使得攻击者通过目录跳转符来遍历服务器中的任意文件。
① 点击进入环境.
② 这里有提示信息,如果页面没有直接信息提示,我们按 F12 查看前端代码里面有没有信息提示.
③ 寻找 flag 文件 (我们知道这个是 目录遍历 漏洞,所以挨着点一个一个看就可了.)


(2)PHPINFO:
PHPInfo 函数信息泄露漏洞常发生一些默认的安装包,比如 phpstudy 等,默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为 phpinfo.php、1.php 和 test.php,然后通过phpinfo 获取的 php 环境以及变量等信息,但这些信息的泄露配合一些其它漏洞将有可能导致系统被渗透和提权.
① 点击进入环境.

② 这里有提示信息,如果页面没有直接信息提示,我们按 F12 查看前端代码里面有没有信息提示.

③ 寻找 flag 文件.(查看了一下也没有其他可以操作的地方,所以直接查找页面 关键字 看看)
“ ctrl+f是查找的快捷键,一般是在大量笔墨网页或文档内快捷找到位置.”

(3)备份文件下载:
1.网站源码:
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露.
① 点击进入环境.

② 这里有提示信息,如果页面没有直接信息提示,我们按 F12 查看前端代码里面有没有信息提示.

③ 寻找 flag 文件.
方法:
(1)题目给的提示,然后每个都去试一遍.(2)使用 dirsearch 进行扫描.



2.bak文件
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露.
① 点击进入环境.

② 利用提示信息.

③ 寻找 flag 文件.(由于是 bak 文件的泄露,所以要在后面添加 .bak )


3.vim 缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。在编辑时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容.
① 点击进入环境.

② 利用提示信息.

③ 寻找 flag 文件.(由于是 vim 缓存 泄露,所以在要在后面添加 .swp )
后缀添加的 文件名 可能发生变化:第一次文件名可能为 .index.php.swp第二次文件名可能为 .index.php.swo 第三次文件名可能为 .index.php.swn从上到下每一个文明名都试一遍.


因为这是缓存文件,所以需要我们还原出原本的内容,使用 linux 系统:vim -r "index.php.swp"vim -r "文件名"


4..DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单.
① 点击进入环境.

② 利用提示信息.(然后直接在后面添加 .DS_Store )


③ 寻找 flag 文件.

乱码,然后直接使用 linux 系统:(把文件放在 linux 系统中)cat DS_Store // 打开文件


(4)git 泄露:
git 是一个主流的分布式版本控制系统,开发人员在开发过程中经常会遗忘.git文件夹导致攻击者可以通过.git文件夹中的信息获取开发人员提交过的所有源码,进而可能导致服务器被攻击而沦陷。当前大量开发人员使用 git 进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境,这就引起了git泄露漏洞。
1.Log
由于 git log 命令用不了,后面找到方法,则完善.
(★★★致命错误:您的当前分支 'master' 尚无任何提交)
2.Stash
3.lndex
(5)SVN 泄露
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境,这就引起了 SVN 泄露漏洞。
准备工作(适合在 Linux 环境中使用):
(1)需要下载 dvcs-ripper 工具,这样方便 漏洞的利用.
https://github.com/kost/dvcs-ripper
(2)再安装工具所需依赖库:
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl

① 点击进入环境.

② 利用提示信息.(这里提示说是 SVN 泄露漏洞 )

③ 寻找 flag 文件.(利用上面下载的工具)
先用扫描目录的工具,扫描到 .svn 的文件(dirb)

找到目录,再利用下载的工具 dvcs-ripper 工具将泄露的文件下载到本地目录中
切换到 下载的工具目录中: ./rip-svn.pl -u 泄露的 .svn 文件路径

下载下来后,查看有没有成功.ls -al

切换到 下载下来的目录中,查看文件去找这些目录中有没有 flag 文件的信息:cd .svncat wc.db // 查找的过程中发现这个目录有 flag 信息

然后利用这个信息去访问一下,发现是 404 没有信息,可能已经被删除了.

但是网页提示说 flag 在服务端旧版本的源代码中,所以检查一下 pristine 文件是否存放 flag cd pristinels -al

切换到 38 这个文件,然后进行查看,发现 flag 信息.

(6)HG 泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境,这就引起了 hg 泄露漏洞。
准备工作(适合在 Linux 环境中使用):
(1)需要下载 dvcs-ripper 工具,这样方便 漏洞的利用.
https://github.com/kost/dvcs-ripper
(2)再安装工具所需依赖库:
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl

① 点击进入环境.

② 利用提示信息.

③ 寻找 flag 文件.(利用上面下载的工具)
先用扫描目录的工具,扫描到 .hg 的文件.

找到目录,再利用下载的工具 dvcs-ripper 工具将泄露的文件下载到本地目录中
切换到 下载的工具目录中: ./rip-svn.pl -u 泄露的 .hg 文件路径

下载下来后,查看有没有成功.ls -al

切换到 下载下来的目录中,查看文件去找这些目录中有没有 flag 文件的信息:
cd .hg // 切换到 .hg 文件ls // 查看 所以文件信息grep -r flag * // 在这个目录的所以文件中 查找 flag 有关的信息

利用 找到的信息进行访问.(发现 flag 信息)

参考文章:ctfhub技能树 信息泄露 目录遍历 PHPINFO 备份文件下载_谨溪的博客-CSDN博客
相关文章:
CTF:信息泄露.(CTFHub靶场环境)
CTF:信息泄露.(CTFHub靶场环境) “ 信息泄露 ” 是指网站无意间向用户泄露敏感信息,泄露了有关于其他用户的数据,例如:另一个用户名的财务信息,敏感的商业 或 商业数据 ,还有一些有…...
Redis学习总结
Redis学习总结 文章目录 Redis学习总结Radis基本介绍docker的安装基本数据结构通用命令字符型key的层次结构Hash类型Listset sortedset集合redis的java客户端jedis的使用jedis连接池的配置 SpringDataRedis自定义redistemplate的序列化与反序列化方式stringtemplate的使用 redi…...
云原生全栈体系(二)
Kubernetes实战入门 第一章 Kubernetes基础概念 一、是什么 我们急需一个大规模容器编排系统kubernetes具有以下特性: 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大,Kubernetes 可以负…...
C++设计模式之建造者设计模式
C建造者设计模式 什么是建造者设计模式 建造者设计模式是一种创建型设计模式,它是一种将复杂对象的分解为多个独立部分的模式,以便于构建对象的过程可以被抽象出来并独立变化。 该模式有什么优缺点 优点 灵活性:建造者设计模式允许对象的…...
HDFS Erasure coding-纠删码介绍和原理
HDFS Erasure coding-纠删码介绍和原理 三副本策略弊端Erasure Coding(EC)简介Reed- Solomon(RS)码 EC架构 三副本策略弊端 为了提供容错能力,hdfs回根据replication factor(复制因子)在不同的…...
STM32 DHT11
DHT11 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 使用单总线通信 该传感器包括一个电容式感湿元件和一个NTC测温元件,并于一个高性能8位单片机相连(模数转换)。 DHT11引脚说明 开漏模式下没有输出高电平的能…...
词法分析器
词法分析器 在早期编译1.0时代,我们的目标是完成程序语言到机器语言的翻译,所以重点在编译器前端,于是我们花费大量时间研究词法分析、语法分析、语义分析等内容。如今的本科编译原理课程,基本上也就到这一层面吧。 在编译2.0时…...
【Spring】Spring之启动过程源码解析
概述 我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。 Spring启动过程主要做了这么几件事情: 构造一个BeanFactory对象解析配置类,得到BeanDefinition,并注册到BeanFactory中 解析ComponentS…...
状态模式(State)
状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为,使其看起来修改了自身所属的类。其别名为状态对象(Objects for States)。 State is a behavior design pattern that allows an object to change its behavior when its inter…...
【uniapp】样式合集
1、修改uni-data-checkbox多选框的样式为单选框的样式 我原先是用的单选,但是单选并不支持选中后,再次点击取消选中;所以我改成了多选,然后改变多选样式,让他看起来像单选 在所在使用的页面上修改样式即可 <uni-d…...
【Spring框架】SpringBoot统一功能处理
目录 用户登录权限校验用户登录拦截器排除所有静态资源练习:登录拦截器拦截器实现原理 统一异常处理统一数据返回格式为什么需要统⼀数据返回格式?统⼀数据返回格式的实现 用户登录权限校验 用户登录拦截器 1.自定义拦截器 package com.example.demo.…...
51单片机学习--按键控制流水灯模式定时器时钟
TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态 TF1:定时器1溢出标志 TF0:定时器0溢出标志 0~65535 每隔1微秒计数器1,总时间65535微秒,赋上初值64535,则只…...
Django教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统…...
VGG卷积神经网络-笔记
VGG卷积神经网络-笔记 VGG是当前最流行的CNN模型之一, 2014年由Simonyan和Zisserman提出, 其命名来源于论文作者所在的实验室Visual Geometry Group。 测试结果为: 通过运行结果可以发现,在眼疾筛查数据集iChallenge-PM上使用VGG…...
Python爬虫如何实现IP代理池搭建
大家好,作为一名IP代理产品供应商,我知道很多人在使用Python爬虫时遇到了一些麻烦。有时候,我们的爬虫在爬取过程中会被目标网站识别并封禁IP,导致我们的爬取任务受阻。今天我要分享的就是如何搭建一个高效稳定的IP代理池…...
单例模式:保证一个类只有一个实例
单例模式:保证一个类只有一个实例 什么是单例模式? 在软件开发中,有些类只需要一个实例,比如数据库连接池、线程池等。单例模式就是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。 实…...
【新版系统架构补充】-七层模型
网络功能和分类 计算网络的功能 :数据通信、资源共享、管理集中化、实现分布式处理、负载均衡 网络性能指标:速率、带宽(频带宽度或传送线路速率)、吞吐量、时延、往返时间、利用率 网络非性能指标:费用、质量、标准化…...
第2章 C语言概述
本章介绍以下内容: 运算符: 函数:main()、printf() 编写一个简单的C程序 创建整型变量,为其赋值并在屏幕上显示其值 换行字符 如何在程序中写注释,创建包含多个函数的程序,发现程序的错误 什么是关键字 C程…...
vscode vue3开发常用插件(附Prettier格式化配置)
必不可少插件(名称可能不全): 1、Chinese (Simplified) (简体中文) Language 2、Prettier - Code formatter 3、Vue 3 Snippets 4、Vue Language Features (Volar) 可选插件: 5、Auto Close Tag 6、Vue Theme Prettier格式化配置: 按ctr…...
【微信小程序】van-uploader实现文件上传
使用van-uploader和wx.uploadFile实现文件上传,后端使用ThinkPHP。 1、前端代码 json:引入van-uploader {"usingComponents": {"van-uploader": "vant/weapp/uploader/index"} }wxml:deletedFile是删除文件函…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...



