Bugku WEB source(超详细题解 WP)

git 是一个分布式版本控制系统

题目

一、需要用到的工具

1、浏览器

2、dirsearch

1.下载 ZIP 文件安装: 可以直接从 GitHub 下载 ZIP 文件:

https://github.com/maurosoria/dirsearch/archive/master.zip

下载后解压文件。

2.安装依赖库: 进入 Dirsearch 目录后,打开终端,安装所需的 Python 依赖库:

pip3 install -r requirements.txt

3、虚拟机Linux系统

二、解题步骤

步骤一

1、打开题目网址

发现没有多余提示,直接用 dirsearch 扫描一下目录

也可以用其他的,比如“御剑”

dirsearch的目录下打开 powershell 或者 cmd ,输入:

python dirsearch.py -u http://117.72.52.127:18382/ 

(网址要放自己的题目网址哦,我是后面写的WP,所以地址不一样)

发现有.git 目录(那应该有所有代码提交记录)

同时发现有个 flag.txt,查看一下,显然不是(笑哭)

查看/.git目录

这个目录是Git用来存储仓库的元数据和版本历史的地方。

用户通常不需要直接操作这个目录,而是通过Git命令来管理代码版本

1、COMMIT_EDITMSG

用于存储最近一次提交的编辑消息(commit message)。

2、HEAD

指向当前分支的引用(ref),表示当前工作目录所处的分支或提交。

3、ORIG_HEAD

通常在执行某些操作(如git resetgit checkout)后,用来保存HEAD的原始位置。

4、logs/

存储仓库的历史记录,包括HEAD和分支的更新日志。

5、refs/

存储引用(refs),包括分支(refs/heads/)、标签(refs/tags/)和远程分支(refs/remotes/)。

我们去 logs 目录看一看,发现端倪

步骤二

根据题目描述,打开 Ubuntu 或者 kali,用 wget将网站整个 git 目录和文件下载下来

输入: 

wget -r http://117.72.52.127:14119/.git/

wget 是一个命令行工具,用于从网络上下载文件,Linux自带。

  • -r:递归下载,可以下载整个网站或目录。

下载成功,进入目标文件夹(是以网址命名的,每个人不一样

输入:

cd 117.72.52.127:14119

用 git 查看之前的版本(代码提交记录,更改历史),获得版本号,能明显看到有三个版本是有 flag 字符串的

输入:

git reflog
  • git reflog:不带任何参数时,显示当前分支(HEAD)的引用日志。

一个一个去查看记录

输入:

git show HEAD@{num}
  • git show:不带任何参数时,显示当前分支的最新提交(HEAD)的详细信息。

在第 4 个HEAD得到 flag:

git show HEAD@{4}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值