ctfhub之svn信息泄露

    科技2025-04-25  20

    ctfhub之svn信息泄露

    1、漏洞形成原理1)什么是SVN?2)漏洞成因3)漏洞修复 2、ctf实战1)配置工具环境2)恢复.svn3)进入.svn目录,查找flag

    1、漏洞形成原理

    1)什么是SVN?

    SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

    2)漏洞成因

    在服务器上布署代码时。如果是使用 svn checkout 功能来更新代码,而没有配置好目录访问权限,则会存在此漏洞。黑客利用此漏洞,可以下载整套网站的源代码。 在使用SVN管理本地代码过程中,会自动生成一个隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使隐藏文件夹被暴露于外网环境,这使得渗透工程师可以借助其中包含版本信息追踪的网站文件,逐步摸清站点结构。

    3)漏洞修复

    方案一、不要使用svn checkout和svn up更新服务器上的代码,使用svn export(导出)功能代替。

    方案二、服务器软件(Nginx、apache、tomcat、IIS等)设置目录权限,禁止访问.svn和.git目录,下面示范为禁止访问点号开头的目录

    Nginx的vhosts中配置

    location ~ (/\.){ deny all; }

    Apache的vhosts中配置

    <Directory ~ "/\."> Deny from all </Directory>

    2、ctf实战

    1)配置工具环境

    下载工具

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

    进行简单配置相关要求的组件

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

    2)恢复.svn

    进入工具目录/dvcs-ripper,执行下面命令开始恢复 ./rip-svn.pl http://challenge-2d1ad35b8ccb1dec.sandbox.ctfhub.com:10080/.svn

    3)进入.svn目录,查找flag

    参考文章: 1、https://www.cnblogs.com/batsing/p/svn-bug.html

    Processed: 0.010, SQL: 8