git泄露
Log
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
使用工具dirsearch和githack中
python dirsearch -u <url> -e *
发现存在git泄露
python GitHack.py URL/.git/
GitHack目录下多了一个dist目录
这里有三种方法
第一种,比较工作区和暂存区
git diff <commit>
方法二:
git reset --hard e2da71c4a7c00b887b1aa63d86a4d7ae25350d01
git reset --hard <commit>
直接切换到 add flag
第三种:
git show
stash
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
这一关基本同上
我们先克隆下 .git 目录 并进入
执行以下命令
python2 GitHack.py URL/.git
git stash list
第一个存储,即stash@{0}
git stash pop
恢复缓存的工作目录
解法二:
使用cat .git.refs/stash
打开stash文件,然后执行git diff
比较工作区和暂存区
index
方法如上:
python2 GitHack.py http://challenge-8115ea6a761fa09c.sandbox.ctfhub.com:10800/.git
cd dist
cd challenge-8115ea6a761fa09c.sandbox.ctfhub.com_10800
git log
git show
svn泄露
题目描述
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞
解题思路
此题使用 kali-linux 系统完成,因为使用 windows 系统环境使用 Perl 配置环境变量过于繁琐,且 Perl 更适合在 Linux 环境中使用。在做这题碰到的坑还挺多,一开始尝试了使用各种 SVN 泄露漏洞利用工具,最后发现 dvcs-ripper 这个工具比较好用。配置好工具及环境后,使用工具将泄露文件 clone 到本地目录下,最后通过检索文件发现 6e 文件中的文件存放此题 flag
git clone https://github.com/kost/dvcs-ripper.git
cd dvcs-ripper
#进行简单配置相关要求的组件
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
#使用dvcs-ripper工具将泄露的文件下载到本地目录中
./rip-svn.pl -u http://challenge-ed400d3eb581afdb.sandbox.ctfhub.com:10800/.svn
在.svn文件夹中查看下载好的文件
访问wc.db数据查看是否有此题flag,索引发现flag有两个文本文件可能存在flag
使用curl命令访问可以文件检查网页源代码是否存在flag,检查均返回404,可能已经被删除了
网页提示说flag在服务端旧版本的源代码中,那么应该检查一下pristine文件是否存放flag
查看06文件夹是否存在此题flag,发现查看文件夹中的.svn-base文件中存在此题flag
hg泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
这题与之前的题目比较类似,同样使用 dvcs-ripper 工具下载泄露的网站目录,但是使用工具过程中出现了一些错误,导致网站源代码没有完整下载。正如网页显示内容中的提示所说,不好使的情况下,试着手工解决。那么此题目是让我们不要过度依赖工具的使用。使用 tree 命令列出下载到本地目录的所有文件。发现一个可疑的文本文件,查看文本文件发现历史记录中一个新增的 flag 文件。正则搜索相关文件发现可疑文本,使用 curl 命令检查发现此题flag。
还是和上面一样
使用dvcs-ripper下载泄露的文件发现提示404报错和两处完成,可能是没有完整下载网站目录
./rip-hg.pl -v -u http://challenge-9d0177f9e07781c8.sandbox.ctfhub.com:10800/.hg
查看可疑的文本文件是否存在此题flag,发现历史版本add flag
利用正则匹配找一下flag
使用curl命令检查一下data数据中的文本文件,发现此题flag