jjzjj

CTFHub | SVN泄露

尼泊罗河伯 2024-07-12 原文

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

SVN泄露:

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

网页显示内容

        Flag 在服务端旧版本的源代码中

        

        

0x02 解题过程

        此题使用 kali-linux 系统完成,因为使用 windows 系统环境使用 Perl 配置环境变量过于繁琐,且 Perl 更适合在 Linux 环境中使用。在做这题碰到的坑还挺多,一开始尝试了使用各种 SVN 泄露漏洞利用工具,最后发现 dvcs-ripper 这个工具比较好用。配置好工具及环境后,使用工具将泄露文件 clone 到本地目录下,最后通过检索文件发现 6e 文件中的文件存放此题 flag 。

        

根据题目描述,在CTFHub上下载关于SVN泄露的漏洞利用工具

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

        

终端打开工具所在目录

cd /home/kali/桌面/dvcs-ripper-master/

        

安装工具所需依赖库

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-04a695076e934b57.sandbox.ctfhub.com:10800/.svn

        

在.svn文件夹中查看下载好的文件

ls -al

        

访问wc.db数据查看是否有此题flag,索引发现flag有两个文本文件可能存在flag

         

使用curl命令访问可以文件检查网页源代码是否存在flag,检查均返回404,可能已经被删除了

        

网页提示说flag在服务端旧版本的源代码中,那么应该检查一下pristine文件是否存放flag

cd pristine

        

查看6e文件夹是否存在此题flag,发现查看文件夹中的.svn-base文件中存在此题flag

cat 6e4ca5f6d3342247e2ae775b943d11f73c844c71.svn-base

        

        

0x03 SVN泄露漏洞

        SVN 全称 Subversion ,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。

SVN泄露漏洞验证方式:intitle:"index of/.svn"

        

        

0x04 参考文献

[1].百度百科. subversion[EB/OL]. [2022-10-13]. https://baike.baidu.com/item/subversion/7818587?fromModule=lemma-qiyi_sense-lemma.

[2].王嘟嘟_. SVN源码泄露漏洞挖掘[EB/OL]. [2022-10-13]. https://blog.csdn.net/qq_36869808/article/details/88848414.

        

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

有关CTFHub | SVN泄露的更多相关文章

  1. ruby - svn ruby​​ 绑定(bind)是否作为 gem 提供? - 2

    我看到有几十个与svn相关的gem,但是我在其中任何一个上找到的少量文档表明它们是命令行包装器和杂项帮助程序。(svn命令、svn钩子(Hook)等)我在野外看到过执行以下操作的代码:require'svn/core'和SVN.Repos.add(...),但该模块的作者通过apt-get提取了他的svnruby​​工具。这对我来说不是一个选择,因为我正在开发一个windows/osx工具。Thispage列出了一些项目,但特别是,我需要一些可以访问svn+ssh存储库的东西,而且我没有时间花一半的时间来挖掘文档-十几个项目,试图引导每一个。我在寻找哪个gem?从那里开始,我很乐意挖掘

  2. Ruby 泄露的对象被 RubyVm::Env 引用 - 2

    我正在跟踪我们的应用程序(ruby2.1)中的内存泄漏问题。我正在使用这两种技术:ObjectSpace.dump_all将所有对象转储到JSON流,然后进行离线分析。我使用的第二种技术是使用ObjectSpace.reachable_objects_from进行实时分析。在这两种方式中,我发现我泄漏的对象被一个对象RubyVM::Env引用。任何人都可以向我解释什么是RubyVM::Env。如何删除这些引用? 最佳答案 RubyVM::Env是一个包含变量引用的内部ruby​​类。这是我的测试:require'objspace'a

  3. ThreadLocal的内存泄露问题 - 2

    ThreadLocal的内部实现在每一个线程Thread对象中,都维护了一个ThreadLocalMap对象。ThreadLocalMap中又维护了一个kv形式的Entry对象,key指向了当前ThreadLocal对象,value就是我们实际在ThreadLocal中存储的值。注意,这里的Entry中的key存放是ThreadLocal的弱引用。实现指的是强引用,虚线指的是弱引用。其实际上,ThreaLocal本身是不存储值的,我们在使用其对应的set、get方法时,都是操作的其对应的ThreadLocalMap对象。为什么会出现内存泄露?从上述可以看到,在Entry中的key存储的Thre

  4. CTFHub | SVN泄露 - 2

    0x00前言        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套writeup,降低CTF学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。                0x01题目描述SVN泄露:        当开发人员使用SVN进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了SVN泄露漏洞。网页显示内容        Flag在服务端旧版本的源代码中                0x02解题过程    此题使用kali-linux系统完成,因为使用win

  5. java - 使用 SimpleDateFormat 解析 svn log -xml 日期输出 - 2

    svnlog命令的xml输出的日期格式如下。2014-04-24T08:51:58.213757Z我尝试使用带有以下字符串的SimpleDateFormat将其解析为util.Date对象。yyyy-MM-ddTHH:mm:ss.SSSSSSZ完整方法protectedDateformatDate(StringdateString){//2014-04-24T08:51:58.213757ZDateFormatformat=newSimpleDateFormat("yyyy-MM-ddTHH:mm:ss.SSS");format.setTimeZone(TimeZone.getTime

  6. xml - 关于使用 : svn log --with-all-revprops --xml [URL] 显示属性的不一致行为 - 2

    首先,感谢您花时间阅读本文并可能发表评论。总结在文件上设置自定义SVN属性并提交后,我无法使用设置了各种选项的“svnlog”命令在提交后显示该属性。我已经关注了这个example从SVN红皮书无济于事(可搜索性子部分)。我的环境服务器:我使用的是运行在64位WindowsServer2008R2上的32位SubVersionServer版本1.6.15客户端:运行在32位WindowsXPProSP3上的TortoiseSVN1.6.16。该存储库是一个测试存储库,没有任何可用的Hook。我的场景在名为test.txt的文件上设置名为active-projects的自定义属性并将更改

  7. .net - 使用 SVN 时如何忽略 .NET 数据集定义 (XSD) 中属性顺序的变化? - 2

    我在VisualStudio2008中使用TortoiseSVN对我的大型VB项目进行版本控制。有时,当编辑许多类型化的数据集之一时,VS感觉就像切换属性的位置msprop:Generator_ColumnVarNameInTable和msprop:Generator_ColumnPropNameInRow在.xsd文件的九千个地方。有时我使用自定义sed脚本再次反转它,但大多数时候我只是提交它而不知道是否有任何真正的变化。我可以防止VisualStudio弄乱这些属性吗?我可以执行特定的命令吗?或者我是否需要TSVN中的一些工作流程来忽略或还原此类更改?新增:我编写了一个小型VB.N

  8. xml - 通过电子邮件发送 svn 的每日提交报告 - 2

    我有一个提交后Hook,它将svn日志保存为XML文件。接下来我必须进行格式化,以便以表格报告的形式显示数据,该报告将包含以下详细信息:1)工单号2)文件名2)文件路径3)修订号4)业主5)提交时间这份报告需要每天下午5点通过电子邮件发送给一个小组。我需要一些示例代码来寻求帮助。 最佳答案 这完全取决于您使用的语言。许多语言都有读取XML文件的模块。例如,Perl有XML::Simple模块。如果这是每天下午5点需要的Subversion存储库每日报告,最好使用某种调度软件在下午5点简单地运行一次报告。在Unix系统上,您可以使用c

  9. xml - 从哪里获取 "svn status --xml"所有可能的标签/值? - 2

    svnstatus--xml打印所有文件状态,它比解析svnstatus输出更有用。是否有XML文件中所有可能的标签/部分及其值的列表?我可以阅读SVN源代码,但它既耗时又肮脏。是否有可能找到从svnstatus--xml值到svnstatus状态字符的干净映射? 最佳答案 我找到了状态命令的模式文件,所以它是一个快速的答案。文件放在SVN源码树那里:subversion/svn/schema/status.rnc 关于xml-从哪里获取"svnstatus--xml"所有可能的标签/值

  10. windows - SVN $RECYCLE.BIN - 2

    刚刚安装了VisualSVN服务器,什么是“$RECYCLE.BIN”,我可以隐藏/删除它吗? 最佳答案 这出现是因为存储库被放置在一个单独驱动器的根目录下,即使它没有安装Windows,也可能曾经或被标记为Windows。 关于windows-SVN$RECYCLE.BIN,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5599008/

随机推荐