CTFHub-SVN泄露-wp

  • SVN又是一个知识盲区,先百度看看

1.SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
2.相较于git,svn通常需要一个集中的服务器来控制,而git为分布式控制系统,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。这类系统都可以指定和若干不同的远端代码仓库进行交互。
3.SVN原理上只关心文件内容的具体差异。每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容;Git记录版本历史只关心文件数据的整体是否发生变化,不保存文件内容前后变化的差异数据,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一连接。

  • 同时在查询后发现:在管理员使用SVN管理本地代码,并在发布代码时没有使用到处功能,直接使用了全选+复制+粘贴这种操作的话,就会将自动生成的 .svn 隐藏文件同时上传,而此文件中会有源码信息以及文件目录。
  • 既然是隐藏文件,老规矩dirmap扫一扫康康在这里插入图片描述
  • 出现了 .svn 文件
  • 使用svn漏洞利用工具svnExploit进行扫描查看
    在这里插入图片描述
  • 直接爆出了文件目录,直接尝试访问在这里插入图片描述
  • 发现出现了404
  • 继续使用svnExploit的 --dump 将目录直接脱下来,拿到如下文件在这里插入图片描述
  • 使用 Navicat Premium 打开 wc.db 文件
    在这里插入图片描述
  • 此数据库储存的为某一版本的文件目录,但通过上面的直接访问返回404的情况可知,此版本的代码中此txt文件已被删除,那我们只能通过直接获取 .svn 文件来得到文件的源码备份信息,从而查看此txt文件的内容
  • 在kali linux中使用工具dvcs-ripper
./rip-svn.pl -v -u http://challenge-2b5e8fb9b1341257.sandbox.ctfhub.com:10800/.svn/

在这里插入图片描述

  • 然后使用ls -al查看所有文件目录
  • 查找资料可知,在pristine文件夹下会储存旧版本的备份信息,故进行访问查看
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  • 最终找到了flag的备份文件,并拿到flag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不想弹solo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值