CTF常见中的信息收集与工具使用
渗透测试的本质就是信息收集,做好信息收集就扩大了攻击面,提高了挖洞、做题的成功率源码泄露git源码泄露.git 文件后缀工具scrabble# git 回滚git reset --hard HEAD^# 查看每个 commit 修改了那些文件git log -stat# 比较在当前版本与想看的 commit 之间的变化git diff HEAD commit -idGitHacker支持分支pyt
文章共1,052字 · 阅读需要大约4分钟
一键AI生成摘要,助你高效阅读
问答
·
渗透测试的本质就是信息收集,做好信息收集就扩大了攻击面,提高了挖洞、做题的成功率
源码泄露
git源码泄露
.git 文件后缀
工具
scrabble
# git 回滚
git reset --hard HEAD^
# 查看每个 commit 修改了那些文件
git log -stat
# 比较在当前版本与想看的 commit 之间的变化
git diff HEAD commit -id
GitHacker
支持分支
python GitHacker.pyhttp://127.0.0.1:8000/.git/
# 查看分支,只能看到 master 分支的信息
git log -all
或
git branch -v
# 查看其他分支
git reflog
# 恢复其他分支
1.手动下载其他分支(secret)head 信息,保存到.git/refs/heads/secret中(执行命令“wget http://127.0.0.1:8000/.git/refs/heads/secret”)
2.复用 githacker 的部分代码,以实现自动恢复分支的效果
在GitHacker的代码中可以看到,他是先下载object文件,再使用git fsck检测,并继续下载缺失的文件。此处可以直接复用检测缺失文件并恢复的fixmissing函数。我们注释掉程序最后调用main的部分
3.修改后重新执行 python githacker.py 命令,运行该脚本,再次进入生成的文件夹,执行
git log --all
或
git branch -v
除了源码的利用方式,泄露的 git 中也可能有其他有用的信息,如.git/config文件夹中可能含有access_token信息,从而可以访问这个用户的其他仓库
svn泄露
.svn/entries 或 wc.db 文件获取服务器源码
工具
- https://github.com/kost/dvcs-ripper
- Seay-svn(Windows下的源代码备份漏洞利用工具)
HG泄露
.hg 隐藏文件夹,其中包含代码和分支修改记录等信息
工具
- https://github.com/kost/dvcs-ripper
经验
CTF 线上赛往往会有重定向一类问题
- 访问 .git,便会返回 402,可以试探着 .git/config,如果有文件内容返回,就说明存在 git 泄露,反之一般不存在
- 而在SVN泄露中,一般是在entries中爬取源代码,但有时会出现entries为空的情况,这时注意wc.db文件存在与否,便可通过其中的checksum在pristine文件夹中获取源代码
敏感备份文件
gedit备份文件
在Linux下,用gedit编辑器保存后,当前目录下会生成一个后缀为“~”的文件,其文件内容就是刚编辑的内容
这个功能在设置中需要开启
vim备份文件
当用户在编辑文件但意外退出时,会在当前目录下生成一个备份文件,文件名格式为 .文件名.swp
针对SWP备份文件,可以用先建一个同名文件再用“vim-r”命令恢复文件的内容,如 flag.swp 就建一个 flag 再用命令恢复
经验
- 在CTF线上比赛的过程中,出题人往往会在线运维题目,有时会因为各种情况导致SWP备份文件的生成,所以可以在比赛过程中可以编写实时监控脚本,对题目服务进行监控
- vim在第一次意外退出时生成的备份文件为*.swp,第二次意外退出时的为*.swo,第三次退出时的为*.swn,以此类推。vim的官方手册中还有*.un.文件名.swp类型的备份文件
- 在实际环境中,网站的备份往往可能是网站域名的压缩包
目录泄露
使用工具
dirsearch、御剑等等,可以收集一些ctf常用字典
更多推荐
已为社区贡献14条内容
所有评论(0)