HG泄露(ctfhub)

news2024/11/26 16:31:58

工具准备:dirsearch、dvcs-ripper

网络安全之渗透测试全套工具篇(内含安装以及使用方法)_dvcs-ripper-CSDN博客

dvcs-ripper:一款perl的版本控制软件信息泄露利用工具,支持bzr、cvs、git、hg、svn...

tree      //树状图列出目录的内容

下载安装dvcs-ripper

https://github.com/kost/dvcs-ripper

 Perl:是一种为扫描任意的文本文件,从这些文本文件中获取信息,基于这些信息打印报表而优化的语言。旨在实用(易用、高效、完整)。

dvcs-ripper工具使用到perl语言,需要在root权限下安装perl环境 :

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

一、什么是HG?

hg(Mercurial)总结_hg mercurial-CSDN博客

Mercurial简介-CSDN博客

Mercurial(英文意为水银,所以常被缩写为hg)是一款非常优秀的分布式版本控制系统(DCVS),具有高效率、跨平台、可扩展、使用简便且开源等优点,是目前最为流行的版本控制工具之一。

分布式版本控制系统:

当源码服务器故障或网络不通时,依然能提交你所做的本地修改。

基本命令:

Init          //初始化,创建一个空的仓库。 

Clone         //创建仓库的复本,创建的来源可以是一个http或ssh链接表示的仓库,也可以是本地仓库。


Commit        //提交,即接受所有的改动,将当前版本作为最新版本(也叫tip)。


Revert        //恢复,即撤销所有的改动,恢复到未更改的状态。

Pull          //拉,是将其他仓库有,而当前仓库没有的变更集“下载”到当前仓库。不过这只是添加了变更集,文件并不会改动。(变更集有一个唯一的hash标识,所以很容易区分。) 

Update        //更新,当获取了其他变更集,且需要更改以保持和其他仓库一致时,就需要更新。


Push          //推,将当前仓库的变更集“上传”到其他仓库。

//其他仓库必须支持该操作,并可能需要经过验证。如果是从本地仓库A push到本地仓库B,就相当于用B pull A。此外,push也不会更新仓库的版本,因为它是共享的,需要的人直接选择想要的版本即可。

Merge         //合并。当一个文件同时被多次修改,并存放在多个仓库时,要获得一个统一的版本,就需要合并。

使用HG

//切换到dvcs-ripper的路径下
cd dvcs-ripper
 
//使用dvcs-ripper工具将泄露的.hg文件克隆到本地目录中
perl rip-hg.pl -u http://xxx/.hg

二、HG泄露

在初始化项目时,HG会在当前文件夹下创建一个 .hg 隐藏文件夹,其中包含代码和分支修改记录

等信息。

题目描述:

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

HG泄露(ctfhub)

1.题目提示有hg泄露

使用dirsearch扫描,也发现有.hg泄露

python dirsearch.py -u http://xxx    //扫描某个站点

2.使用dvcs-ripper工具将泄露的.hg文件克隆到本地目录中

perl rip-hg.pl -u http://xxx/.hg

克隆泄露的.hg文件发现提示404报错,可能是没有完整下载网站目录

3.查看目录,发现(隐藏的).hg文件

ls -al   //查看当前目录下的所有目录和文件(包括隐藏的文件)

4. 进入.hg文件夹下,查看目录发现一个.txt文件

5..cat查看.txt文件,发现历史记录add flag

6.利用正则匹配找一下flag,发现flag.txt文件 提示没有这个文件,它被删除了

grep -r flag

7.于是在url直接访问文件名得到flag

 也可使用curl命令访问 得到flag

curl http://xxx/flag.txt        //利用URL规则在命令行下工作的文件传输工具

grep命令

linux grep和find命令_--quiet find-CSDN博客

功能:

查找文件里符合条件的字符串(强大的文本搜索工具)

它能使用正则表达式搜索文本,并把匹配的行打印出来。

 参数:

-a   //不忽略二进制的数据。

-b   //在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。

-c   //计算符合范本样式的列数。
 
-d  //指定要查找的是目录(而非文件)

-e   //指定字符串作为查找文件内容的范本样式。

-i   //忽略字符大小写的差别。

-l   //列出文件内容符合指定的范本样式的文件名称。

-L   //列出文件内容不符合指定的范本样式的文件名称。

-q   //不显示任何信息。

-r   //指定要查找的目录。

-s   //不显示错误信息。

-v   //反转查找。

-V   //显示版本信息。

-w   //只显示全字符合的列。

-x   //只显示全列符合的列。

-y   //忽略字符大小写的差别。
--help   在线帮助。

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

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

相关文章

故障转移-redis

4.4.故障转移 集群初识状态是这样的: 其中7001、7002、7003都是master,我们计划让7002宕机。 4.4.1.自动故障转移 当集群中有一个master宕机会发生什么呢? 直接停止一个redis实例,例如7002: redis-cli -p 7002 sh…

Ubuntu22.04配置ROS2+PX4仿真环境

Ubuntu22.04配置ROS2PX4仿真环境 主要参考源: https://blog.csdn.net/weixin_44174421/article/details/135827130 https://blog.csdn.net/Zecet/article/details/130474620 一、准备工作 确保网络能够连接到github,出错主要源自于此;确保…

绝地求生更新反作弊系统“ZAKYNTHOS”杀疯了

绝地求生的反作弊系统“ZAKYNTHOS”近期取得了显著的成绩。从2024年1月1日至3月3日,共有117,3588个违规账号被封禁,其中107,3317个账号因使用外挂而被永久封禁。 根据官方每周封禁数据公告,1月至3月每周的永久封禁违规账号平均数高达13万&am…

牛客网刷题 | BC51 及格分数

描述 KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“…

MDC使用手册精讲

MDC 背景: 线上排查问题时,请求在多个微服务之间进行调用,并发量较大的情况下,想跟踪某一个请求的链路,是需要花费一些时间才能梳理出来,而且还依赖于你的业务字段。而我们需要的是快速定位,快…

共享桌面,3分钟自己实现一个吧,还能听见麦克风声音哦

前言 关于【SSD系列】: 前端一些有意思的内容,旨在3-10分钟里, 500-1000字,有所获,又不为所累。 共享桌面程序,哇,高大尚耶!其实不然,让我带你3分钟实现桌面共享程序&am…

9.Hexo通过partial文件传值和改变CSS属性

partials 基本上是可以在自己的HTML文件或.ejs文件中定义网站中不同组件的方法 如果想要为网站定义一个标头,这个标头将会很好地出现在网站的每个页面上 用partials可以创建一个.ejs文件,可以将该标头的所有代码存储在该文件中,然后当想要在…

面向对象的C++题目以及解法2

01串排序 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; class String { public:string str; String(const string& s) : str(s) {} int length() const {return str.length();}i…

预分频器×重装载值)/LSI频率 为什么等于总时间

1. 第一种算法理解&#xff1a;分频系数 64 &#xff0c;外部低速时钟40khz&#xff0c; 则一次计数周期1.6ms &#xff0c;计数625个数&#xff0c;则有625个周期 &#xff0c;1.6ms*625 等于1s 如果分频系数是64&#xff0c;外部低速时钟&#xff08;LSI&#xff09;频率是…

【开发问题记录】Nacos修改服务实例权重时报错

问题记录 一、问题描述1.1 产生原因1.2 产生问题 二、问题解决2.1 docker部署的nacos解决方案2.1.1 进入nacos容器2.1.2 查看当前目录2.1.3 进入data文件夹2.1.4 删除protocol文件2.2 本地部署的nacos 一、问题描述 1.1 产生原因 在运行项目时&#xff0c;在本地启动了一个服务…

隧道应急广播应该如何搭建?

隧道应急广播系统的搭建需遵循以下关键步骤&#xff0c;确保在紧急情况下能够迅速、准确地传达信息&#xff0c;保障人员安全&#xff1a; 1. 需求分析与规划设计&#xff1a; 明确目标&#xff1a;确定广播系统覆盖范围&#xff08;如隧道全长、出入口、避难所等关键位置&…

22 文件系统

了解了被打开的文件&#xff0c;肯定还有没被打开的文件&#xff0c;就是磁盘上的文件。先从磁盘开始认识 磁盘 概念 内存是掉电易失存储介质&#xff0c;磁盘是永久性存储介质 磁盘的种类有SSD&#xff0c;U盘&#xff0c;flash卡&#xff0c;光盘&#xff0c;磁带。磁盘是…

UE 录屏自动化上传阿里云OSS

前言 最近在做一个功能&#xff0c;然后就发现了一个很有趣的东西&#xff0c;虽然在一定程度上属于偷懒&#xff0c;但是在一些短频快的应用中还是很适用的&#xff0c;下面我就针对于这个测试做一些简单的分享&#xff0c;希望帮助到大家&#xff0c;在实际的开发中获得一些灵…

三大变换(杂乱)

任何一个函数都可以看成是若干个三角函数的加权和 一、傅里叶变换 1、推导过程 资料&#xff1a;https://www.bilibili.com/video/BV1pW411J7s8/?spm_id_from333.1007.top_right_bar_window_history.content.click &#xff08;1&#xff09; e i θ e^{i\theta} eiθ代表…

策略模式:灵活调整算法的设计精髓

在软件开发中&#xff0c;策略模式是一种行为型设计模式&#xff0c;它允许在运行时选择算法的行为。通过定义一系列算法&#xff0c;并将每个算法封装起来&#xff0c;策略模式使得算法可以互换使用&#xff0c;这使得算法可以独立于使用它们的客户。本文将详细介绍策略模式的…

前端大文件上传 -- 上传文件到S3或本地服务器

特别提醒 大文件上传的文件切片逻辑, 包括如何将分片文件上传到本地服务器, 请查看之前的文章: 前端大文件上传 - 总结&#xff08;Vue3 hook Web Worker实现&#xff0c;通过多个Worker线程大大提高Hash计算的速度&#xff09;, 本篇仅实现如何将大文件分块上传到S3. 后面写…

Yolo-world使用

1、安装 python pip install ultralytics 前往官网下载模型&#xff1a;https://docs.ultralytics.com/models/yolo-world/#key-features 我这里使用yolov8s-world.pt举例 最简单的使用示例 if __name__ __main__:model YOLO(model/yolov8s-world.pt)results model.pre…

力扣101. 对称二叉树(java)

思路&#xff1a; 一、验证 左右子树是否可翻转对称的&#xff1f; 二、分析左右子树情况&#xff1a; 1&#xff09;左右都也空 对称 2&#xff09;左右有一个为空 不对称 3&#xff09;左右都不为空&#xff0c;但数字不同 不对称 4&#xff09;左右都不为空&#xff0c;且数…

ENVI实战—一文学会使用GLT配准工具对风云数据进行几何校正

实验2&#xff1a;学会使用GLT配准工具 目的&#xff1a;完成气象卫星数据的校正&#xff0c;掌握利用GLT配准工具实验地理配准的方法 过程&#xff1a; ①读取影像&#xff1a;选择“文件”&#xff0c;选择“HS5”文件并打开&#xff0c;在弹出的科学数据集浏览器中&#x…

保姆级教程 | Adobe Illustrator 中插入数学符号

背景 鉴于Adobe Illustrator作为比较专业的绘图/组图软件&#xff0c;我的论文数据作图都会选择先在origin中把原始数据绘制好&#xff0c;后都放入AI中细修。由于在作图过程中需要插入数学符号&#xff0c;但仿佛没有PowerPoint用起来那么熟悉&#xff0c;遂记录下。 步骤 …