CTFHub技能树-信息泄露-SVN泄漏

目录

Git与SVN的区别

漏洞产生的原因

漏洞危害

修复建议

工具下载

解题过程


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

Git与SVN的区别

  • Git 是分布式版本控制系统,每个开发者都拥有完整的代码库副本。这意味着即使没有中央服务器,你也可以在本地进行大部分操作,如提交、查看历史记录等。当有网络连接时,可以与其他开发者进行同步。
  • SVN 是集中式版本控制系统,代码存储在中央服务器上。开发者需要连接到中央服务器才能进行大部分操作。如果中央服务器出现问题,可能会影响整个团队的开发工作。

漏洞产生的原因

在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的entries文件,获取站点信息。

漏洞危害

攻击者可以利用.svn/entries文件,获取到应用程序源代码、svn服务器账号密码等信息。同时,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。

  1. 攻击者利用该漏洞可下载网站源代码,获得数据库的连接账号密码等敏感信息;
  2. 攻击者可通过获取的源代码进一步分析出新的系统漏洞,从而进一步入侵系统;

修复建议

  • 查找服务器上所有.svn隐藏文件夹,删除。
  • 开发人员在使用SVN时,严格使用导出功能,禁止直接复制代码。

工具下载

SvnExploit下载

GitHub - admintony/svnExploit: SvnExploit支持SVN源代码泄露全版本Dump源码

dvcs-ripper下载

GitHub - kost/dvcs-ripper: Rip web accessible (distributed) version control systems: SVN/GIT/HG...

dvcs-ripper需要在kali上下载运行,并安装Perl环境

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

解题过程

首先还是先使用dirsearch进行扫描,发现有.svn泄漏

使用svnexploit工具下载.svn

python3 SvnExploit.py -u http://challenge-9005d52ddc930d30.sandbox.ctfhub.com:10800/.svn/ --dump

 

但是svnexploit这个工具只能获取当前版本的源代码,而题目提示说flag在旧版本

所有我们要得到旧版本的源码

使用.使用 dvcs-ripper 工具中的 rip-svn.pl 脚本进行下载

./rip-svn.pl -v -u http://challenge-9005d52ddc930d30.sandbox.ctfhub.com:10800/.svn

使用ls -a查看隐藏文件

匹配二进制源码

cat wc.db|grep -a flag

最后找到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃红薯拔丝的小鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值