CTFhub技能树-Web-信息泄露
呆呆雪鹅 2024-10-20 11:33:01 阅读 62
目录
0x01 目录遍历0x02 PHPINFO0x03 备份文件下载3.1、网站源码3.2、bak文件3.3、vim缓存3.4、.DS_Store
0x04 Git泄露4.1、Log4.2、Stash4.3、Index
0x05 SVN泄露0x06 HG泄露
0x01 目录遍历
题目:
WriteUp:
直接一个一个目录找
flag:
ctfhub{01dc44f5c4984db36ce03410}
0x02 PHPINFO
题目:
WriteUp:
直接<code>Ctrl + F查找“FLAG”
flag:
ctfhub{ab673f80910aed49a56bf0c5}
0x03 备份文件下载
6%8A%80%E8%83%BD%E6%A0%91.assets%2Fimage-20240813094928748.png&pos_id=img-E3U5ktn7-1723609919454)
3.1、网站源码
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
题目:
WriteUp:
使用扫描工具扫描备份文件,或者按题目提示进行排列组合
下载文件<code>http://challenge-b78f9cda88ce0b15.sandbox.ctfhub.com:10800/www.zip
浏览器中访问<code>http://challenge-b78f9cda88ce0b15.sandbox.ctfhub.com:10800/flag_672616102.txt得到flag
flag:
ctfhub{a28a3b866edc551754fffd1a}
3.2、bak文件
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
题目:
Flag in index.php source code.
WriteUp:
直接访问
http://challenge-b21f7d76838a4fab.sandbox.ctfhub.com:10800/index.php.bak
下载备份文件
flag:
ctfhub{e7cd20a60e0f4c522dfeda37}
3.3、vim缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
题目:
备份文件下载 - vim
flag 在 index.php 源码中
WriteUp:
vim的缓存文件是<code>.文件.swp,直接访问
http://challenge-93bd45ca193ba40a.sandbox.ctfhub.com:10800/.index.php.swap
下载缓存文件
找个Linux服务器上传,把文件名改为
.index.php.swp
(可以不用),使用vim -r .index.php.swp
恢复文件
flag:
ctfhub{6d0cebc925f5010184435003}
3.4、.DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
题目:
备份文件下载 - DS_Store
试着寻找 flag
WriteUp:
下载<code>.DS_Store文件,
http://challenge-fbe3f945403839c7.sandbox.ctfhub.com:10800/.DS_Store
使用Python-dsstore(.DS_Store 解析工具)还原文件内容
访问txt文件<code>http://challenge-fbe3f945403839c7.sandbox.ctfhub.com:10800/bd1f1e68a65fff3432a82129fda329e6.txt
flag:
ctfhub{7fea0f6103ea671a16152bee}
0x04 Git泄露
<code>└── .git
├── COMMIT_EDITMSG # 保存最新的commit message
├── config # 仓库的配置文件
├── description # 仓库的描述信息,主要给gitweb使用
├── HEAD # 指向当前分支
├── hooks # 存放一些shell脚本,可以设置特定的git命令后触发相应的脚本
├── index # 二进制暂存区(stage)
├── info # 仓库的其他信息
│ └── exclude # 本地的排除文件规则,功能和.gitignore类似
├── logs # 保存所有更新操作的引用记录,主要用于git reflog等
├── objects # 所有文件的存储对象
└── refs # 具体的引用,主要存储分支和标签的引用
4.1、Log
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
题目:
Where is flag?
WriteUP:
在kali中运行GitHack,执行
python2 GitHack.py http://challenge-63ac5b8e731b3bc3.sandbox.ctfhub.com:10800/.git/
,需要安装git
进入下载的目录,使用<code>git show就可以查看到flag
git show
命令用于显示 Git 对象的详细信息。
git show
命令用于查看提交、标签、树对象或其他 Git 对象的内容。这个命令对于审查提交历史、查看提交的具体内容以及调试 Git 对象非常有用。
flag:
ctfhub{8c578c7937747ab778faedef}
4.2、Stash
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
题目:
Where is flag?
WriteUp:
在kali中运行GitHack,执行
python2 GitHack/GitHack.py http://challenge-46ead56994010880.sandbox.ctfhub.com:10800/.git/
,使用git stash pop
还原最近一次修改的文件
查看文件,获取flag
在平常的工作中,当我们在单独拉取的功能分支中进行开发时,遇到线上出现bug需要进行紧急修复,我们需要切换到主分支,进行代码的修复。但是我们直接在本地切换到主分支,则会提示当前文件的改动会丢失。那该怎么办呢?合理的方式应该是将功能分支的代码临时存储在某个位置,当我们切回到当前分支,读取该存储,将之前的改动恢复。
在git中,就有<code>git stash这样的命令,完美的解决了这个问题,其将当前未提交的修改(即工作区和暂存区的修改)先暂时储藏起来。然后我们可以通过
git stash list
来查看储藏记录。之后通过git stash pop
命令将之前最近一次储藏的修改取出来,继续之前的工作,并同时将该储藏从储藏记录列表中删除
flag:
ctfhub{fa3701d104153b1cccf3da22}
4.3、Index
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
题目:
Where is flag?
WriteUp:
在kali中运行GitHack,执行
python2 GitHack/GitHack.py http://challenge-11893692783fad22.sandbox.ctfhub.com:10800/.git
flag就在目录下的txt文档中
flag:
ctfhub{178ae6e41f10c4e4838b0fc0}
0x05 SVN泄露
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
题目:
信息泄露 - Subversion
Flag 在服务端旧版本的源代码中
**WriteUp:**使用dvcs-ripper工具
<code>#安装工具
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl libparallel-forkmanager-perl libredis-perl libalgorithm-combinatorics-perl
git clone https://github.com/kost/dvcs-ripper.git
#进入dvcs-ripper目录
perl rip-svn.pl -u http://challenge-503f8b9f5c45dd8b.sandbox.ctfhub.com:10800/.svn/
找flag
<code>cd .svn
grep -r "ctfhub" ./*
也可以使用工具,扫描一下目录,是否存在svn信息泄露
<code>dirsearch -u "http://challenge-007f5508b03f3b01.sandbox.ctfhub.com:10800" -e svn -i 200
flage:
ctfhub{2abb97339e5b133be39eaecb}
0x06 HG泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
题目:
信息泄露 - Mercurial
Flag 在服务端旧版本的源代码中, 不太好使的情况下, 试着手工解决。
WriteUp:
检测 HG 泄露的方法:
对目标网站进行目录扫描,寻找 .hg 目录的踪迹。如果发现泄露的 .hg 目录,可以尝试使用 hg clone 命令克隆仓库并分析其内容。检查 .hg 目录下的 hgrc 和其他配置文件,了解仓库的设置和权限。
直接扫描目录
dirsearch -u "http://challenge-8a7d008ee99bf4cb.sandbox.ctfhub.com:10800/" -e * -i 200
利用工具<code>perl rip-hg.pl -v -u http://challenge-8a7d008ee99bf4cb.sandbox.ctfhub.com:10800/.hg
打开<code>.hg文件夹,发现其中有个
last-message.txt
找到flag文件名,浏览器直接访问http://challenge-8a7d008ee99bf4cb.sandbox.ctfhub.com:10800/flag_2179628297.txt
flag:
ctfhub{71593c357480d013dd04805f}
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。