CTHHub Web技能树-信息泄露-SVN泄露
1、解题工具
这里需要用到dvcs-ripper这个软件,在kali里以此运行该命令即可
1、sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
2、sudo apt-get install libparallel-forkmanager-perl libredis-perl libalgorithm-combinatorics-perl
3、sudo apt-get install cvs subversion git bzr mercurial
4、git clone https://github.com/kost/dvcs-ripper
这里可能会出现部分失败的情况,按照给的提示,以此执行就好
2、解题
2.1、首先打开题目,他会告诉你flag就在以前版本的源代码中
2.2、使用命令对网站进行克隆
使用dvcs-ripper 工具中的 rip-svn.pl 脚本进行,运行的命令为(首先要退到目录文件)
./rip-svn.pl -v -u 环境网址/.svn/
2.3、列出对应的文件,发现存在.svn进入,确定是svn泄露
2.4、进入到.svm/pristine,即历史版本中,看到两个文件
2.5、打开对应的文件,并显示即可得到flag
3、原理
3.1、什么是svn,漏洞产生原因
svn即subversion,是一个源代码管理软件,在使用的过程中,会自动生成.svn的隐藏文件,这也是为什么需要使用ls -al来显示的原因。但是在发布到线上时,有的程序员不愿意使用导出功能,而直接将代码复制,这就可能将.svn文件一起放到线上,黑客即可根据文件逐步恢复版本信息,从而获取站点信息。
防范方法
1、在上线时严格要求使用代码导出功能
2、发现漏洞后,及时在服务器删除.svn文件