CTFHUB-web-信息泄漏

题目所在位置:技能树->web->信息泄漏

目录遍历

打开题目,我们进入的是这个页面

翻译过来就是

得到的信息就是:flag要在这些目录里面寻找,我们直接一个一个点开查看就行

发现得到一个flag.txt,点击打开得到flag

PHPINFO

进入题目

点击查看phpinfo,直接ctrl+f查找flag,就可以得到flag

备份文件下载

1.网站源码

进入题目

使用:python脚本跑出/也可以使用dirsearch命令行输出

详细了解dirsearch命令:dirsearch命令组合参考-CSDN博客

import requestsurl = "http://challenge-0aaab7f3ea0755c7.sandbox.ctfhub.com:10800/"li1 = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp']
li2 = ['tar', 'tar.gz', 'zip', 'rar']
for i in li1:for j in li2:url_final = url + "/" + i + "." + jr = requests.get(url_final)print(str(r)+"+"+url_final)

得出结果有一个www.zip的链接,我们直接点击访问

将进入以下页面,直接下载就行

在打开文件,进行压缩,打开发现里面有一个flag.txt,发现里面并没有我们需要的flag

我们在通过网页访问flag.txt,就得到flag了          

ctfhub{d90c8480a16e2e5a5d3a985e}

2.bak文件

题目

翻译过来是

我们就可以直接在链接后面添加index.php.bak

接下来打开这个文件,就可以获得flag        

ctfhub{6a1faedeb06945e8758dd5de}

3.vim缓存

题目

首先我们要知道什么是vim缓存?

Vim 是一个高度可配置的文本编辑器,广泛用于编程和其他文本编辑任务。Vim 在编辑文件时,有时会在当前目录下生成一个 .swp 文件,这通常被称为“交换文件”或“缓存文件”。

通过了解知道vim缓存文件的后缀名为 .swp 根据提示我们知道flag在index.php中,而一般情况下vim缓存文件都是隐藏的,我们要找的他的flag就可以直接在.index.php后面跟一个.swp

但是我们在这么输入过后,得到的是“未找到”,但是却得到了一份文件,我们下载好这份文件,并使用记事本打开,就可以得到flag

ctfhub{646ab52ec9287e9f9d168680}

4..DS_Store

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

题目

在链接后面添加 /.DS_Store 下载文件,并使用记事本打开,发现里面是一串乱码

分析$ 1 8 5 7 3 a b 3 6 7 5 3 1 0 c 7 9 b 1 f 9 0 0 3 d 5 e 1 6 3 b b . t x tnoteustr    f l a g   h e r e ! 

得出$ 1 8 5 7 3 a b 3 6 7 5 3 1 0 c 7 9 b 1 f 9 0 0 3 d 5 e 1 6 3 b b . t x t注释      flag在这

将txt前面的去掉空格(这里我们使用python去掉空格),在使用浏览器访问txt,得到flag。

ctfhub{4e2f6bed9a7509c7e6fc687b}
a = ' 1 8 5 7 3 a b 3 6 7 5 3 1 0 c 7 9 b 1 f 9 0 0 3 d 5 e 1 6 3 b b . t x t'  
a_without_spaces = a.replace(' ', '')  
print(a_without_spaces)

运行结果为:18573ab3675310c79b1f9003d5e163bb.txt

Git泄漏

Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git 目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
漏洞利用工具: GitHack

#kali自带有git

在Kali Linux上安装Git

首先,你需要更新你的Kali Linux的软件包列表

sudo apt update

然后,你可以使用apt包管理器来安装Git

sudo apt install git

最后,验证安装

git --version

log

题目(当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题)

1.使用dirsearch扫描目录,判断是否是git泄漏

存在git泄漏

2.使用使用Githack扫描git文件

stash

题目(当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题)

直接使用githack扫描文件

index

工具:kali

分为两个步骤:

1.先使用dirsearch扫描目录

sudo apt-get install dirsearch  #安装dirsearch包sudo dirsearch -u "http://challenge-74ace4f302db1181.sandbox.ctfhub.com:10800/"    #目录扫描#   -u:用于指定要扫描的URL。lscd sitelscd challenge-74ace4f302db1181.sandbox.ctfhub.com:10800/  lsgit log   #表示扫描程序正在获取当前 Git 仓库的提交历史信息。这有助于识别任何潜在的安全漏洞或问题。git config --global --add safe.directory /home/kali/Desktop/GitHack/site/challenge-74ace4f302db1181.sandbox.ctfhub.com:10800                    #在Git中配置一个名为 safe.directory 的全局设置。用于指定一个安全目录或特定目标以供扫描程序执行操作。lsgit log

扫描结果是他有存在git泄漏

2.使用Githack扫描git文件

sudo pip install githacksudo githack http://challenge-74ace4f302db1181.sandbox.ctfhub.com:10800/.git/

SVN泄漏

SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用'导出’功能而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
漏洞利用工具:dvcs-ripper


修复建议:删除web目录中所有.svn隐藏文件夹,开发人员在使用SVN时,严格使用导出功能,禁止直接复制代码。

题目:

1.下载了dvcs-ripper直接拖进kali,再进入dvcs-ripper,安装工具库

 sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl

2.将泄露的文件下载到本地目录中

 ./rip-svn.pl -u http://challenge-fd61f12637dfbdd7.sandbox.ctfhub.com:10800/.svn 

3.查看

4.访问wc.db数据查看是否有此题flag,ctfhub

cat wc.db | grep -a flag
cat wc.db | grep -a ctfhub

5.使用curl命令访问可以文件检查网页源代码是否存在flag,检查均返回404,网页无法正常展示而出现

curl http://challenge-fd61f12637dfbdd7.sandbox.ctfhub.com:10800/flag_1977112349.txt 

6.题目提示:Flag 在服务端旧版本的源代码中,检查一下pristine文件是否存放flag

cd pristine     

7.查看48文件夹是否存在flag,发现查看文件夹中的.svn-base文件中存在flag

HG泄漏

Mercurial 是一种轻量级分布式版本控制系统,使用 hginit的时候会生成.hg。
漏洞利用工具:dvcs-ripper
github项目地址:https://github.com/kost/dvcs-ripper
用法示例:
rip-hg.pl -v -u http://www.example.com/.hg/

题目:

1.将泄露的文件下载到本地目录中

./rip-hg.pl -u http://challenge-198bce2d491bcb71.sandbox.ctfhub.com:10800/.hg

2.查看

ls -al

3.使用tree命令列出刚刚下载的.hg网站目录,发现last-message.txt

tree .hg

4.查看last-message.txt是否存在flag,发现历史版本add flag

cat .hg/last-message.txt   

5.发现历史版本可以使用正则表达式进行关键字查找(递归搜索包含“flag”这个词的文件),找到    flag_833118765.txt

 grep -a -r flag    

6.使用curl命令访问可以文件检查源代码是否存在flag

curl http://challenge-198bce2d491bcb71.sandbox.ctfhub.com:10800/flag_833118765.txt

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

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

相关文章

开发K8S Operator

原理 大多数人使用Kubernetes的方式是使用原生资源(如pod、deployment、service等)部署应用程序。但是,也可以扩展Kubernetes的功能,从而添加满足特定需求的新业务逻辑,这就是Operator的作用。 作用 Operator应用,当我们在运用集群能力部署应用时,可能需要一组资源同时部…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:UIExtensionComponent (系统接口))

UIExtensionComponent用于支持在本页面内嵌入其他应用提供的UI。展示的内容在另外一个进程中运行,本应用并不参与其中的布局和渲染。 通常用于有进程隔离诉求的模块化开发场景。 说明: 该组件从API Version 10开始支持。后续版本如有新增内容&#xff0…

npm设置淘宝镜像地址

介绍 npm设置淘宝镜像 命令 npm config set registry https://registry.npmmirror.com/

【Java】List, Set, Queue, Map 区别?

目录 List, Set, Queue, Map 区别? Collection和Collections List ArrayList 和 Array区别? ArrayList与LinkedList区别? ArrayList 能添加null吗? ArrayList 插入和删除时间复杂度? LinkedList 插入和删除时间复杂度&…

k8s编排系统

Kubernetes(简称K8s)是一个开源的容器编排系统,由Google基于其内部的Borg项目开发,并于2014年正式对外发布。目前,Kubernetes已成为云原生计算基金会(Cloud Native Computing Foundation, CNCF)…

SDN网络简单认识(2)——南向接口

目录 一、概述 二、南向接口与南向协议 2.1 南向接口(Southbound Interfaces) 2.2 南向协议(Southbound Protocols) 2.3 区别与联系 三、常见南向协议 2.1 OpenFlow 2.2 OVSDB(Open vSwitch Database Manageme…

计算机网络-数据链路层

一、认识以太网 "以太网" 不是⼀种具体的网络,而是一种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理 层的内容。 例如:规定了网络拓扑结构,访问控制方式,传输速率等; 例如:以太网中的网线必须使用…

vxe-table表格组件的使用已经query函数扩展

最近新项目使用vue3typescript开发后台管理系统,基本上展示内容一致表格的方式展示,所以使用vxe-table组件来开发,主要是为了方便使用工具栏,以及其他表格操作。 vxe-table 开发文档:https://vxetable.cn/#/table/sta…

免费开源多层级多标签文本分类|文本分类接口|文本自动分类

一、开源项目介绍 一款多模态AI能力引擎,专注于提供自然语言处理(NLP)、情感分析、实体识别、图像识别与分类、OCR识别和语音识别等接口服务。该平台功能强大,支持本地化部署,并鼓励用户体验和开发者共同完善&#xf…

火车订票管理系统|基于springboot框架+ Mysql+Java+B/S结构的火车订票管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能模块 系统功能设计 数据库E-R图设计 lunwen…

代码随想录算法训练营第二十五天 | 216. 组合总和 III、17. 电话号码的字母组合

代码随想录算法训练营第二十五天 | 216. 组合总和 III、17. 电话号码的字母组合 216. 组合总和 III题目解法 17. 电话号码的字母组合题目解法 感悟 216. 组合总和 III 题目 解法 修改上一天组合的代码 class Solution { public:vector<vector<int>> result;vect…

双向SSM: Vision Mamba Encoder

文章目录 Vision Mamba Encoder初始化输入映射序列变换参数映射BC参数映射delta参数映射 SSM参数初始化A , D矩阵初始化delta参数初始化 双向SSM初始化参数初始化 前向输入映射fast_pathuse_fast_pathno use_fast_path 双向SSMv1前向后向 v2前向后向 Vision Mamba Encoder Vis…

C++使用for(:)遇到的BUG

简化问题代码如下 #include<bits/stdc.h>using namespace std;int main() {vector<int> vec;vector<int> f(9,0);for(int i 0; i<9; i )vec.push_back(i); // for(int j 0; j < vec.size(); j ){ // int t vec[j]; // cout<&l…

数据结构的概念大合集04(队列)

概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.…

kubernetes-maven-plugin部署到microk8s出现问题

为了简化开发环境&#xff0c;我在WSL Ubuntu 虚拟机上安装了一个microk8s环境&#xff0c;接着在项目开发中&#xff0c;想用kubernetes-maven-plugin部署一个服务到k8s上&#xff0c;但出现错误&#xff1a; [WARNING] Error reading service account token from: [/var/run…

C语言之快速排序

目录 一 简介 二 代码实现 快速排序基本原理&#xff1a; C语言实现快速排序的核心函数&#xff1a; 三 时空复杂度 A.时间复杂度 B.空间复杂度 C.总结&#xff1a; 一 简介 快速排序是一种高效的、基于分治策略的比较排序算法&#xff0c;由英国计算机科学家C.A.R. H…

Arthas使用案例(二)

说明&#xff1a;记录一次使用Arthas排查测试环境正在运行的项目BUG&#xff1b; 场景 有一个定时任务&#xff0c;该定时任务是定时去拉取某FTP服务器上的文件&#xff0c;进行备份、读取、解析等一系列操作。 而现在&#xff0c;因为开发环境是Windows&#xff0c; 线上项…

FFmpeg 常用命令汇总

​​​​​​经常用到ffmpeg做一些视频数据的处理转换等&#xff0c;用来做测试&#xff0c;今天总结了一下&#xff0c;参考了网上部分朋友的经验&#xff0c;一起在这里汇总了一下。 1、ffmpeg使用语法 命令格式&#xff1a; ffmpeg -i [输入文件名] [参数选项] -f [格…

Jenkins: 配合docker来部署项目

jenkins docker 部署 1 &#xff09;测试将jenkins构建后的项目部署到docker的nginx镜像中 nginx 镜像内的默认目录在 /usr/share/nginx/html将待部署项目存放在 /usr/share/nginx/html 项目名称目录在Mac环境下的 jenkins系统 中&#xff0c;工程项目默认的路径在 ~/.jenkin…

Spring整合RabbitMQ

需求&#xff1a;使用Spring整合RabbitMQ 步骤&#xff1a; 生产者 1.创建生产者工程 2.添加依赖 3.配置整合 4.编写代码发送消息 消费者步骤相同 生产者 导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://…