信息泄露总结

文章目录

  • 一、备份文件下载
    • 1.1 网站源码
    • 1.2 bak文件泄露
    • 1.3 vim缓存
    • 1.4 .DS_Store
  • 二、Git泄露
    • 2.1 git知识点
    • 2.1 log
    • 2.2 stash
  • 三、SVN泄露
    • 3.1 SVN简介
    • 3.2 SVN的文件
    • 3.3 SVN利用
  • 四、Hg泄露

一、备份文件下载

1.1 网站源码

  常见的网站源码备份文件后缀:

  • tar
  • tar.gz
  • zip
  • rar
      常见的网站源码备份文件名:
  • web
  • website
  • backup
  • back
  • www
  • wwwroot
  • temp

1.2 bak文件泄露

  有些时候网站管理员可能为了方便,会在修改某个文件的时候先复制一份,将其命名为xxx.bak。而大部分Web Server对bak文件并不做任何处理,导致可以直接下载,从而获取到网站某个文件的源代码。
  方法:将例如index.php.bar文件重命名index.php,再打开。
在这里插入图片描述

1.3 vim缓存

  当vim异常退出时,都会生成一个用于备份缓冲区内容的swp临时文件,来记录了用户在非正常关闭vim编辑器之前未能及时保存的修改,用于文件恢复。假如原文件名为index.php

  • 第一次产生的交换文件名为 .index.php.swp
  • 第二次产生的交换文件名为 .index.php.swo
  • 第三次产生的交换文件名为 .index.php.swn

方法:同上,改文件名为index.php再打开。

1.4 .DS_Store

  .DS_Store是 Mac OS 保存文件夹的自定义属性的隐藏文件,通过.DS_Store可以知道这个目录里面所有文件的清单。直接访问xxx/.DS_Store可以下载该文件,但是无法读取,要想读取该文件,需要用到ds_store_exp.py,用法:python ds_store_exp.py <url>/.DS_Store
在这里插入图片描述
再访问该脚本扫描到的文件/文件夹。

二、Git泄露

2.1 git知识点

  • .git目录:使用git init初始化git仓库的时候,生成的隐藏目录,git会将所有的文件,目录,提交等转化为git对象,压缩存储在这个文件夹当中。
  • .git/config:Git仓库的配置文件
  • .git/config:这个文件包含了一个档期分支(branch)的引用,通过这个文件Git可以得到下一次commit的paren

    除了上述文件,还有其他文件。

  git信息泄露的原因:当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

  判断是否存在git泄露
使用curl访问目标网址下的xxx/.gitxxx/.git/config或者xxx/.git/HEAD,看是否有内容返回。
在这里插入图片描述
说明存在git信息泄露,再使用githacker。使用githacker的目的是去github上下载网站源码。

2.1 log

下载网站源码:python2 Githack.py http://challenge-b600332c47be484d.sandbox.ctfhub.com:10800/.git
在这里插入图片描述

进入相应的目录,直接使用git log查看日志
在这里插入图片描述

当前所处的版本为remove flag,flag 在add flag 这次提交中

  • 方法一:直接与 add flag (dc33) 这次提交进行比对,命令如下:git diff dc33(add flag)
    在这里插入图片描述

  • 方法二:直接切换到add flag (dc22) 这个版本。命令如下:git reset --hard dc33(add flag)
    在这里插入图片描述

2.2 stash

  知识点:git 泄露 .git/refs/stashstash用于保存 git 工作状态到 git 栈,在需要的时候再恢复。使用stash命令可以恢复文件。

下载网站源码:python2 Githack.py http://challenge-ccc966c169231c6b.sandbox.ctfhub.com:10800//.git
在这里插入图片描述

进入到相应文件夹,执行 git stash list 查看是否有stash:
在这里插入图片描述

此处存在stash

git stash pop弹出git栈中的文件。
在这里插入图片描述
flag就在txt文件中。
> 可以将stash栈理解为一个放被删除的文件的栈,就相当于一个回收站。

三、SVN泄露

3.1 SVN简介

  SVN(subversion)是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就用用于多个人共同开发同一个项目,实现的共享资源,实现最终集中式的管理。在使用 SVN 管理本地代码过程中,使用svn checkout功能来更新代码时,项目目录下会自动生成隐藏的.svn文件夹,其中包含重要的源代码信息;
造成SVN源代码漏洞的主要原因是管理员操作不规范,在发布代码时未使用导出功能,而是直接复制代码文件夹到WEB服务器上,导致.svn被暴露于外网环境,黑客对此可进一步利用:

  • 利用其中包含的用于版本信息追踪的.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息;
  • 利用.svn/wc.db数据库文件获取到一些数据库信息;
  • 利用SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,则可以直接获得文件源代码。

3.2 SVN的文件

  • entriesformat文件,数据只有个数字12。
  • wc.db-journal空文件
  • tmp空目录
  • pristine里是一些00~ff的名称的文件夹,每个文件夹里有若干哈希过的.svn-base备份文件
  • wc.db文件用SQLiteStudio软件打开 wc.db文件,在 NODES 表中,遍历这个表里的每一行,就可以下载到整个项目里的代码了,而且还能得到对应的真实文件名。

3.3 SVN利用

  1. 判断是否存在SVN泄露
    在这里插入图片描述

    说明存在svn泄露

  2. 使用dvcs-ripper下载.svn文件夹,命令如下:rip-svn.pl -u <url>/.svn。注意要安装perl环境。
    在这里插入图片描述
  3. pristine文件夹中找备份文件。
    在这里插入图片描述

四、Hg泄露

  当开发人员使用 Mercurial(hg) 进行版本控制,对站点自动部署。在初始化项目时,HG会在当前文件夹下创建一个.hg 隐藏文件夹,其中包含代码和分支修改记录等信息。
可以先使用curl <url>/.hg测试一下:
在这里插入图片描述

之前.svn也是301,说不定存在hg泄露。

使用dvcs-ripper下载网站源码,命令如下:rip-hg.pl -v -u <url>/.hg/
在这里插入图片描述
使用tree .hg查看文件夹结构:
在这里插入图片描述
递归查找子文件目录下的关键词flag:grep -r flag
在这里插入图片描述
进入cd .hg/store/fncache,这里应该是保存网站源码缓存的地方,可以看到有index.html50x.html
在这里插入图片描述
故访问http://challenge-e04eb8044f3c9d3e.sandbox.ctfhub.com:10800/flag_1807820070.txt.
在这里插入图片描述

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

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

相关文章

hyperf console 执行

一、原理描述 hyperf中&#xff0c;不难发现比如自定义控制器中获取参数&#xff0c;hyperf.php中容器获取&#xff0c;传入的都是接口&#xff0c;而不是实体类。 这是因为框架中的配置文件有设置对应抽象类的子类&#xff0c;框架加载的时候将其作为数组&#xff0c;使用的…

零基础学Java第二天

复习回顾&#xff1a; 1.dos命令 dir 显示当前文件夹下面的所有的文件和文件夹 cd 切换目录的 mkdir 创建文件夹的 rd 删除文件夹的 del 删除文件 D: 切换盘符 cls 清屏 2.书写Java代码换行打印《静夜诗》这首古诗 class Demo1 { …

深入理解 C# 中的字符串比较:String.CompareTo vs String.Equals

深入理解 C# 中的字符串比较&#xff1a;String.CompareTo vs String.Equals 在处理字符串时&#xff0c;了解如何正确比较它们对于编写清晰、有效和可靠的 C# 程序至关重要。本文将深入探讨 C# 中的两个常用字符串比较方法&#xff1a;String.CompareTo 和 String.Equals&…

Mybatis行为配置之Ⅲ—其他行为配置项说明

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

电子工程师如何接私活赚外快?

对电子工程师来说&#xff0c;利用业余时间接私活是个很常见的技术&#xff0c;不仅可以赚取额外收入&#xff0c;也能提升巩固技术&#xff0c;可以说国内十个工程师&#xff0c;必有五个在接私活养家糊口&#xff0c;如果第一次接私活&#xff0c;该如何做&#xff1f; 很多工…

再升级|川石教育鸿蒙应用开发4.0教程发布

全新鸿蒙蓄势待发 HarmonyOS是一款面向未来的全场景分布式智慧操作系统。 对于消费者而言&#xff0c;HarmonyOS用一个统一的软件系统从根本上解决消费者面对大量智能终端体验割裂的问题&#xff0c;为消费者带来统一、便利、安全的智慧化全场景体验。 对于开发者而言&#xf…

十二:爬虫-Scrapy框架(上)

一&#xff1a;Scrapy介绍 1.Scrapy是什么&#xff1f; Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架(异步爬虫框架) 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫&#xff0c;抓取指定网站的内容或图片 Scrapy使用了Twisted异步网…

15. Mysql 变量的使用

目录 变量的概述自定义变量系统变量查看系统变量系统变量赋值 局部变量总结参考资料 变量的概述 MySQL支持不同类型的变量&#xff0c;包括自定义变量、系统变量和局部变量。自定义变量是在会话中定义的变量&#xff0c;用于存储临时数据。系统变量是MySQL服务器提供的全局变量…

【C#】关于事件的使用ii,eg:{婚礼策划公司的组织者}

场景&#xff1a; 假设你是一家婚礼策划公司的组织者&#xff0c;你需要安排婚礼的各个方面&#xff0c;如音乐、鲜花、照片等。 事件的用法&#xff1a; 你创建了一个婚礼策划事件&#xff0c;并邀请了音乐师、花店、摄影师等作为订阅者。当婚礼日期临近时&#xff0c;你触发婚…

(切图笔记)layui表格单元格添加超链接 以及传参方法 亲测可用 附代码

layui在切图网日常的工作中常常用到&#xff0c;特别是它的layer弹窗&#xff0c;基本可以满足网站切图时候遇到的绝大多数弹窗的情况&#xff0c;参数比较丰富 灵活&#xff0c;是不可多得的网页插件之一&#xff0c;我见很多人说layui过时了&#xff0c;这是相比于vue正流行的…

Linux创建Macvlan网络

最近在看Docker的网络&#xff0c;测试Macvlan部分时&#xff0c;发现Docker创建Macvlan与预期测试结果不一样。所以查阅了Linux下配置Macvlan&#xff0c;记录如下。 参考 1.Linux Macvlan 2.图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN 3.创建ma…

Java8 - 更优雅的字符串连接(join)收集器 Collectors.joining

Java8中的字符串连接收集器 在JDK8中&#xff0c;可以采用函数式编程&#xff08;使用 Collectors.joining 收集器&#xff09;的方式对字符串进行更优雅的连接。 Collectors.joining 收集器 支持灵活的参数配置&#xff0c;可以指定字符串连接时的 分隔符&#xff0c;前缀 和…

Sentinel-3如何处理并下载LST数据-陆地表面温度”(Land Surface Temperature)

LST 通常指的是“陆地表面温度”&#xff08;Land Surface Temperature&#xff09;。陆地表面温度是指地球表面上陆地部分的温度&#xff0c;而不包括水体表面。LST 是遥感技术中一个重要的参数&#xff0c;可以通过卫星遥感等手段进行测量和监测。 陆地表面温度对于许多领域…

浅谈高并发以及三大利器:缓存、限流和降级

引言 高并发背景 互联网行业迅速发展&#xff0c;用户量剧增&#xff0c;系统面临巨大的并发请求压力。 软件系统有三个追求&#xff1a;高性能、高并发、高可用&#xff0c;俗称三高。三者既有区别也有联系&#xff0c;门门道道很多&#xff0c;全面讨论需要三天三夜&#…

kibana(elk)使用脚本统计重点URL访问次数

文章目录 前言一、Elasticsearch脚本是什么?二、使用步骤前言 在日常工作中,需要定期对系统中一些重点URL进行访问统计,这个时候就需要借助一些工具进行分析处理 一、Elasticsearch脚本是什么? Elasticsearch脚本是Elasticsearch中用于自定义数据处理和查询逻辑的脚本代码…

人工智能_机器学习072_SVM支持向量机_人脸识别模型训练_训练时间过长解决办法_数据降维_LFW人脸数据建模与C参数选择---人工智能工作笔记0112

我们先来看一下之前的代码: import numpy as np 导入数学计算库 from sklearn. svm import SVC 导入支持向量机 线性分类器 import matplotlib.pyplot as plt 加载人脸图片以后,我们用pyplot把人脸图片数据展示一下 from sklearn.model_selection import train_test_split 人脸…

Unity之组件的生命周期

PS&#xff1a;第二天&#xff0c;依旧在摸鱼学unity 一、组件的概念 我本身是由Web后端转到了游戏后端&#xff0c;最近因为工作原因在学ET框架。学到了 ECS 编程模式开发&#xff08;E —— Entity&#xff0c;C —— Component &#xff0c; S —— System&#xff09;实体、…

【rosbag】rosbag命令--查看提取bag中的内容

1.查看消息 rosbag info --.bag topics是其中的话题内容&#xff0c;/imu中只写了包含imu的数据&#xff0c;但是imu是9轴的&#xff0c;到底磁力计信息是否包含在其中呢&#xff1f; 2.将bag中的某个话题转为txt 将file_name.bag文件中topic_name话题的消息转换到Txt_name.…

mpegts.js使用指南

如何使用 mpegts.js 步骤 1: 引入 mpegts.js 库 在您的 HTML 文件中引入 mpegts.js&#xff1a; <script src"path/to/mpegts.min.js"></script>步骤 2: HTML 中添加视频标签 在 HTML 中添加 标签&#xff1a; <video id"videoElement"…

FreeRTOS学习--56讲 软件定时器

软件定时器&#xff1a; 用户可自定义定时器的周期&#xff0c;当指定时间到达后调用回调函数&#xff0c;用户在回调函数中处理信息 硬件定时器: 芯片自带的定时器模块&#xff0c;精度高&#xff0c;能触发中断&#xff0c;用户在中断服务函数中处理信息 软件定时器…