CTFHub

2023-11-17

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 总结

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CTFHub 的相关文章

  • 使用 PushStreamContent 从 HTTPClient 上传

    我想将大量数据上传到网络服务器from客户端机器 我直接跳到 PushStreamContent 这样我就可以直接写入流 因为结果的大小各不相同 并且可能相当大 流程如下 User runs query gt Reader Ready Ev
  • Non-Authoritative-Reason 标头字段 [HTTP]

    当我有响应标头时 我很难找出它的含义Non Authoritative Reason HSTS 我搜索了很多 但只是想出了一些关于 HSTS 从 HTTP 重定向到 HTTPS 的解释 有人能帮我吗 顺便说一句 我正在使用 Chrome T
  • Python Subversion 包装器库

    在颠覆的文档 http svnbook red bean com en 1 7 svn developer usingapi html svn developer usingapi otherlangs有一个从 Python 使用 Subv
  • 反向代理受 NTLM 保护的网站

    如何将请求代理到受 NTLM 保护的网站 例如团队基金会 and 共享点 我不断得到401 身份验证错误 根据这篇 Microsoft TechNet 文章 https www microsoft com technet prodtechn
  • 为什么安装 TortoiseSVN 后 AnkhSVN 解决方案中的所有文件都标记为新文件?

    安装 TortoiseSVN 1 6 0 后 加载到启用 AnkhSVN 的 Visual Studio 2008 项目中的所有文件都被标记为新文件 蓝 色 我尝试重新安装 AnkhSVN 2 0 6347 并将存储库检出到新的 干净 文件
  • C# - 如何进行 HTTP 调用

    我想对网站进行 HTTP 调用 我只需要点击 URL 不想上传或下载任何数据 最简单 最快的方法是什么 我尝试了下面的代码 但它很慢 并且在第二次重复请求后 它只是超时 59 秒 然后恢复 WebRequest webRequest Web
  • ReverseProxy取决于golang中的request.Body

    我想构建一个 http 反向代理 它检查 HTTP 主体 然后将 HTTP 请求发送到它的上游服务器 你怎么能在 Go 中做到这一点 初始尝试 如下 失败 因为 ReverseProxy 复制传入请求 修改它并发送 但正文已被读取 func
  • Spring webflow 应用程序:HTTP 302 暂时移动

    我的 java 应用程序中的每个请求都会生成另外 2 个带有 HTTP 302 错误的请求 例如 如果请求查看名为板 html 这个请求是从首页 html 我收到按以下顺序生成的 3 个请求 POST home html 302 Moved
  • svn获取当前用户

    如何获取特定工作站上使用 svn 的当前用户 我可以使用 svn exe 可执行文件和一些开关来获取该信息吗 Thanks 在 Linux 中 您将在主目录中找到以下文件 subversion auth svn simple 在此文件中 您
  • 为什么使用HTTP协议时需要指定端口号?

    即使我们使用HTTP协议 为什么还需要用IP地址指定端口号 例如 http xyz 8080 这到底是什么意思 我们已经知道 在使用 HTTP 时 请求将在端口 80 上提供服务 那么为什么我们要显式指定端口呢 HTTP 的默认端口为 80
  • 除了 GET 和 POST 之外,如何从浏览器向 RESTful 应用程序发送任何内容?

    我没有得到 RESTful 的东西 是的 我知道如何从浏览器向我的应用程序发送 GET 请求 这是通过 URL 链接 a href user someone 并且还可以通过form方法发送POST请求 a
  • 按照约定应返回哪些 REST PUT/POST/DELETE 调用?

    根据 REST 意识形态 PUT POST DELETE 请求的响应正文中应该包含什么 返回码呢 是HTTP OK enough 如果有的话 这种约定的原因是什么 我发现了一篇描述 POST PUT 差异的好文章 发布与放置 http ww
  • 如何增加asp classic的请求接受限制

    我从java小程序向asp classic发送post请求 我在此请求中发送非常大的数据 即 csv 数据 当此请求中的字符数增加并超过 138000 时 asp 不接受该请求 java 小程序给出 500 错误 所以有人可以告诉我如何才能
  • 如何使用 Emacs 通过 HTTP 打开远程文件?

    大多数开源软件都通过某些 HTTP 服务公开其代码 我想从 Emacs 打开并浏览此类代码 但 AFAICS trapmp 只允许ssh and ftp 因此 我的第一个问题是如何打开 HTTP URL 以便在 Emacs 中进行读取 然后
  • 如何使用批处理脚本调用的curl 获取http post 请求的响应代码?

    我正在努力为从我们的工具之一发送 http post 请求提供支持 该工具基本上通过 http 请求执行作业 实现此目的的方法是该工具使用多个参数调用 RunScript bat 该脚本解析这些参数并在验证后发出curl post 请求 P
  • 如何查看提交修订后所做的更改并解析它以获取评论?

    我希望自动化一些与 SubVersion 相关的任务 所以我使用了 SharpSvn 不幸的是我找不到太多的文档 我希望能够在用户提交新修订后查看更改 以便我可以解析代码以获取特殊注释 然后将其上传到我的票证系统中 如果您只想浏览 Shar
  • RestSharp RestClient的默认超时值是多少?

    任何人都知道默认超时值休息锐利 https github com restsharp 休息客户端 RestSharp 在底层使用 HttpWebRequest 它有一个默认超时 https msdn microsoft com en us
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何

随机推荐

  • GLES3.0中文API-glGetProgramInterface

    名称 glGetProgramInterface 查询程序中接口的属性 C 规范 void glGetProgramInterfaceiv GLuint program GLenum programInterface GLenum pnam
  • Hibernate复合主键的注解

    最近做项目用到了Hibernate框架 采用了纯面向对象的思想 使用ORM映射实体 在开发中 实体中出现了复合主键 不再是单一的属性作主键 由于采用了注解的方式 就不再使用xml文件进行配置了 而是直接在实体中进行注释 Hibernate注
  • Unity动画知识之二:Animator动画状态机

    文 拉撒路 上次我们讲过 Unity游戏动画从入门到住院 今天我们来讲一下动画状态机 好了 现在我们已经成功的导入了动画 接下来要玩的东西就很装13啦 因为大部分动画师是用不到这家伙的 需要掌握这个技能的 至少也是动画组长级别了 嗯 一个组
  • 找不到工作?对不起,这份测试面试题来晚了!

    1 测试测试与 测试的区别 首先alpha测试和beta都属于验收测试 这两种测试都需要用户参加 且都不能由程序员和测试员执行 广义上来讲 测试是 内测 测试是 公测 alpha测试是用户在开发环境或者是公司内部模拟实际操作环境的测试 测试
  • C#学习笔记 线程操作

    完整代码在这里 https github com techstay csharp learning note 创建并使用线程 使用线程执行任务 要创建一个线程很简单 实例化一个System Threading Thread对象并向其构造函数
  • optimizeinplace

    上篇介绍了 X文件网格的渲染方法 如果需要创建自己的网格文件 并将它渲染出来 那么可以考虑创建一个空的网格 然后读取网格文件内容 将顶点 材质和纹理数据写入以上的网格相关缓冲区中 创建一个自定义顶点格式的空Mesh网格可由 D3DXCrea
  • docker创建linux镜像,docker创建centos镜像无法使用systemctl

    docker获取centos镜像 里面执行安装lnmp之后 发现使用systemctl无法使用 root 92926bd84d70 systemctl restart nginx Failed to get D Bus connection
  • MES管理系统如何实现数据采集和过程控制

    随着工业4 0的到来 MES管理系统解决方案已成为企业实现生产过程数字化和智能化的关键工具 MES生产管理系统不仅提供生产计划 调度 质量管理和设备维护等功能 还在数据采集和过程控制方面发挥着重要作用 本文将探讨MES生产管理系统如何实现数
  • VS下Qt的信号与槽实现

    实现主窗口中Add按钮的功能 这一部分要特别注意 除了实现功能代码外 还需自己手动添加一些其他的代码 Qt Creator可以自动添加 我们需要在2个地方添加代码 第1个是在addressbook h文件下添加一个槽函数声明 即属于priv
  • net::ERR_CONNECTION_REFUSED 解决大全

    sockjs node info报错 sockjs node作用 SockJS is a JavaScript library for browsers that provides a WebSocket like object SockJ
  • 项目构建之maven篇:4.坐标与依赖及spring依赖注入demo

    源代码下载 坐标
  • 数据结构-将升序数组转化为平衡二叉搜索树-java

    1 题目 给定一个升序排序的数组 将其转化为平衡二叉搜索树 BST 平衡二叉搜索树指树上每个节点 node 都满足左子树中所有节点的的值都小于 node 的值 右子树中所有节点的值都大于 node 的值 并且左右子树的节点数量之差不大于1
  • 笔试算法题

    转自 http www cnblogs com xwdreamer archive 2011 12 13 2296910 html 1 把二元查找树转变成排序的双向链表 题目 输入一棵二元查找树 将该二元查找树转换成一个排序的双向链表 要求
  • 【TVM系列二】TVM介绍

    文章同步更新在公众号 AIPlayer 欢迎扫码关注 共同进步 目录 一 TVM的工作流程 1 整体流程 2 关键数据结构 3 Transformations 4 搜索空间和基于机器学习的转换 5 目标代码转化 二 逻辑架构组件 三 运行T
  • Android图形显示系统4 图像生产者(下)

    一 概述 在上一篇文章 Android图形显示系统2 图像消费者 中 我们详细地讲解了图像消费者 我们已经了解了 Android 中的图像元数据是如何被 SurfaceFlinger HWComposer 或者 OpenGL ES 消费的
  • 传统企业数字化转型难点有哪些?传统企业数字化转型战略方向

    互联网时代下 市场发展瞬息万变 企业数字化转型迫在眉睫 如何做好数字化转型 需要从以下这几个方面出发 1独立不孤立 企业需要积极主动加强对于数字化转型的认知 理解数字化转型的价值所在 开利网络认为 企业数字化转型首先是观念上的转换 通过贯彻
  • MATLAB生成单位矩阵、三角矩阵、零矩阵、1矩阵

    单位矩阵 eye m n 稀疏单位矩阵 speye m n ps I speye 1000 构成 1000 1000 单位矩阵的稀疏表示形式 它只需要大约 16 KB 的存储 这与 I sparse eye 1000 1000 的最终结果相
  • 概率论知识回顾(十七):方差

    概率论知识回顾 十七 重点 方差 知识回顾用于巩固知识和查漏补缺 知识回顾步骤 查看知识回顾中的问题 尝试自己解答 自己解答不出来的可以查看下面的知识解答巩固知识 对知识解答有疑问的 说明有关这一点的知识或者公式没有理解透彻或者没有记住 要
  • Win11 VSCode远程连接WSL2数据库

    首先 在VSCode中打开远程连接 可能会提示远程连接失败 无法连接到远程扩展主机服务器 错误 websocket close with status code 1006 这时启动wsl2 终端输入 vim etc ssh sshd con
  • CTFHub

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