WriteUp
题目信息

解题思路
打开页面,看到

按F12查看源代码

试了一下,发现不是flag,然后在浏览器开发者工具中没有找到flag相关信息
接着使用kali linux,查看是否有隐藏文件夹
使用命令dirsearch -u http://171.80.2.169:10777/(替换为你的网址)扫描网页

发现有.git 隐藏文件夹(它用来记录当前项目所有的版本历史,也能恢复代码到某次版本下)
linux 系统自带 wget 命令,可以把服务器上的资源下载到本地(上图 .git 下面路径有很多层,所以需要都下载下来,而 -r 参数意思就是递归下载文件夹里面东西)
使用命令wget -r http://171.80.2.169:10777/.git/ (替换为你的网址)把服务器上的资源下载到本地,应该有接近300个文件
下载后进入文件夹
使用命令git reflog --oneline 可以查看到项目的所有版本

然后用命令sudo git checkout 40c6d51 就能找到flag,这需要每一个版本都尝试一下,

使用命令 ll

看到flag.txt
查看flag.txt即可

使用工具
Kali linux
dirsearch(在kali中输入指令sudo apt install dirsearch即可下载)
Flag
flag{git_is_good_distributed_version_control_system}
总结
通过本题学到:
dirsearch命令(扫描网页,查看隐藏文件)
wget 命令(将文件下载到本地)
git log 命令查看 git 提交记录(有提交的时间和人物,如果 git log --oneline 则显示缩略版本信息只有提交描述)
git reflog --oneline (查看更详细的版本)
git checkout 提交的版本号 (切换版本号)