CTFHub Git泄露-log解题思路
2021/5/2 18:29:10
本文主要是介绍CTFHub Git泄露-log解题思路,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 一、什么是Git泄露?
- 二、进入环境
- 2.查看页面
- 3.使用dirsearch扫描目录
- 4.利用GitHack工具扫描
- 4.使用git log查看历史记录
- 三、flag
- 1.使用git diff对比文件
- 得到flag:==ctfhub{7695df0273bfd39a86c8ecd4}==
- 2.利用git reset回退文件版本
- 1)打开文件发现flag
- flag:==ctfhub{7695df0273bfd39a86c8ecd4}==
一、什么是Git泄露?
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞
二、进入环境
2.查看页面
3.使用dirsearch扫描目录
python3 dirsearch.py -u http://challenge-b20bc02a1f02c35f.sandbox.ctfhub.com:10080/
发现存在git泄露
4.利用GitHack工具扫描
python GitHack.py -u http://challenge-b20bc02a1f02c35f.sandbox.ctfhub.com:10080/.git
GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,还原重建工程源代码。
4.使用git log查看历史记录
可以看见文件有过三次操作,flag处于add flag版本中
得到flag有两种解法:
1.文件比对
2.退回版本
三、flag
1.使用git diff对比文件
①:git diff:当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”。
②:git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别
使用命令: git diff 8240595cecf9ebdd21b9c5a2ba6ef582efa071d2 c9d03e2c6e6de0422d7c8d624c66529a3bd1b9c6
得到flag:ctfhub{7695df0273bfd39a86c8ecd4}
2.利用git reset回退文件版本
reset --hard 会在重置 HEAD 和branch的同时,重置stage区和工作目录里的内容。当你在 reset 后面加了 --hard 参数时,你的stage区和工作目录里的内容会被完全重置为和HEAD的新位置相同的内容。换句话说,就是你的没有commit的修改会被全部擦掉。
使用命令: git reset --hard 8240595cecf9ebdd21b9c5a2ba6ef582efa071d2
1)打开文件发现flag
flag:ctfhub{7695df0273bfd39a86c8ecd4}
这篇关于CTFHub Git泄露-log解题思路的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25TypeScript基础知识详解
- 2024-12-25安卓NDK 是什么?-icode9专业技术文章分享
- 2024-12-25caddy 可以定义日志到 文件吗?-icode9专业技术文章分享
- 2024-12-25wordfence如何设置密码规则?-icode9专业技术文章分享
- 2024-12-25有哪些方法可以实现 DLL 文件路径的管理?-icode9专业技术文章分享
- 2024-12-25错误信息 "At least one element in the source array could not be cast down to the destination array-icode9专业技术文章分享
- 2024-12-25'flutter' 不是内部或外部命令,也不是可运行的程序 或批处理文件。错误信息提示什么意思?-icode9专业技术文章分享
- 2024-12-25flutter项目 as提示Cannot resolve symbol 'embedding'提示什么意思?-icode9专业技术文章分享
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享