当前位置: 首页 > news >正文

ctf-git篇

🗺️ 第一阶段:在案发现场寻找蛛丝马迹(信息收集)

当你刚打开这道 CTF 题目时,就像一个侦探来到了案发现场。你看到了三样东西:

  1. 题目的名字:source

    • 生活比喻:“Source” 在计算机里是“源代码”的意思。也就是说,出题人(网站的主人)在关卡大门上写了四个大字:“答案在幕后”。他是在直白地告诉你:“别在网页表面瞎戳了,Flag(也就是通关密码)藏在网页背后的代码文件里!”

  2. 题目的提示:我哥说渗透我只用linux环境

    • 生活比喻:这句话是在限定“作案工具”和“作案场景”。Linux 是一种操作系统(你的 Kali 就是 Linux 的一种)。出题人是在暗示你:“网站管理者是用 Linux 命令行来管理这个网站的,他一定在后台留下了 Linux 独有的痕迹。”

  3. 一片空白的网页:上面只有一行Hello,world! This is my friend :

    • 生活比喻:网页上没有输入框,没有登录按钮,什么都没有。这说明不需要你去猜密码或者输入攻击代码,幕后的代码文件才是唯一的突破口。

🔍 第二阶段:发现暴露的“时光机日记本”(Git 泄露漏洞)

既然知道要去网站后台找“代码文件”,那我们要怎么找呢?这就涉及到一个叫Git(读作 /ɡɪt/)的东西。

  • 什么是 Git?(大白话解释)

    程序员在写网站代码时,经常会改错。为了防止代码改坏了改不回去,他们会用一个叫 Git 的软件。这个软件就像是一个“高级时光机日记本”。

    每当程序员写完一部分代码,就会在这个日记本里记上一笔:“今天我写了主页,当前的身份证号是 xxx”;明天改了代码,又会记一笔:“今天我删了某个功能,当前的身份证号是 yyy”。

    这个日记本在电脑里表现为一个叫.git的隐藏文件夹

  • 漏洞是怎么产生的?

    网站管理者把写好的代码放到公网服务器上时,一时粗心,把这个名为.git的“时光机日记本”文件夹也一起复制到服务器上了。

于是,你试着在浏览器里访问了网站加.git的网址(http://160.202.254.160:19884/.git/)。

啪!浏览器里没有显示“404找不到”,而是直接把这个文件夹里的所有秘密文件像目录一样列表展示了出来。

侦探结论:网站主人的“时光机日记本”完全暴露在公网上,任何人都能看!

📥 第三阶段:把日记本搬回自己的基地(使用 Linux 命令下载)

既然在浏览器里一页一页点开看太慢了,我们需要把对方的这本“时光机日记本”原封不动地抄一份,搬回到你自己的Kali Linux(你的大本营虚拟机)里。

于是,我们在 Kali 的终端(黑框框)里输入了第一组命令。我们来一行行看当时发生了什么,以及为什么这么输入:

  1. mkdir -p ~/web_ctf && cd ~/web_ctf

    • 做什么:创建一个叫web_ctf的文件夹,并进到这个文件夹里。

    • 原因:我们要下载很多文件,必须在自己的 Kali 电脑里建一个干净的房间(文件夹),把下载的东西整齐地放进去,不和别的文件混淆。

  2. wget -r -np -nH --cut-dirs=1 http://160.202.254.160:19884/.git/

    • 做什么:这是一个强力下载命令。

    • 原因:wget是 Linux 里用来下载网络文件的工具。后面的-r -np -nH这一串字母是给它的“特权指令”,意思就是:“你顺着这个网址,把.git文件夹里的所有子文件、子文件夹,不管隐藏多深,像搬家一样全部给我下载到本地的这个房间里!

执行完后,你的 Kali 电脑里就拥有了和对方一模一样的“时光机日记本”数据库了。

⏳ 第四阶段:时空穿梭,揭穿出题人的诡计

现在日记本在你的 Kali 基地了,我们开始用 Git 工具去审讯它。

  1. 第一步:把日记本里当前记录的文件变出来

    你在终端输入了:git checkout .

    • 原因:刚才下载下来的都是日记本的“数据库数据”(一堆乱码和碎片)。git checkout .这条命令的意思是:“Git 引擎,请根据日记本里的记录,把最新的代码文件给我还原在当前目录下。”

    • 结果:你的文件夹里凭空多出了index.htmlflag.txt两个文件。

  2. 第二步:查看当前文件,发现被骗了

    你输入了:cat flag.txtcat index.html

    • 原因:cat是 Linux 里的“查看文本”命令,相当于双击打开记事本。

    • 结果:你看到flag.txt里写着flag{not_here}(假Flag)。

    • 心理战分析:抓到狐狸尾巴了!出题人故意在最新的网页里放了一个假的 Flag 来嘲讽黑客。但是他忘了:Git 是个时光机,它记录了过去所有的历史!他虽然在最新版里把真的 Flag 删了或改了,但过去写过什么,日记本里一定有底稿!

  3. 第三步:翻看正常的历史日记(失败)

    你输入了:git log -p

    • 原因:git log是翻看历史日记的命令,-p意思是“不仅要看日记标题,还要看每次修改具体删了哪一行、加了哪一行”。

    • 结果:你只看到了两次记录:一次是建了网页,一次是放了假 Flag。

    • 侦探分析:出题人非常狡猾。他知道黑客会用git log翻日记。于是他在本地用了一种叫reset(强行重置时光机)的手段,把写有真 Flag 的那几页日记从正常目录里“撕掉”了,让你在普通的日记列表里根本找不到。

🏆 第五阶段:动用终极搜查令,拿到真 Flag

既然出题人把日记撕掉了,普通方法失效了。我们必须动用 Linux 和 Git 的终极搜查工具。

  1. 第一步:调用底层的“行车记录仪”

    你输入了:git reflog

    • 原因:git log只能看到没被撕掉的、连贯的日记。而git reflog是 Git 软件的底层行车记录仪

      只要出题人在他的电脑上敲过命令、切换过版本、或者撕过日记,这个行车记录仪就会忠实地记录下:“系统于xx点xx分,强行抹除了一个叫40c6d51的版本”。这个40c6d51就是那页被撕掉日记的“唯一身份证号”(哈希值)。

    • 结果:正如你截图所见,行车记录仪里赫然出现了两个普通的 log 里根本没有的神秘身份证号:fdce35e40c6d51

  2. 第二步:强行还原被撕掉的日记页

    你输入了:git show 40c6d51

    • 原因:git show是“显形咒”,后面加上身份证号,意思就是:“不管这页日记是被删了、被埋了还是被重置了,只要我知道它的身份证号,Git 引擎就必须把那一页当时写的内容给我完整地在屏幕上打印出来!”

    • 结果:屏幕上吐出了出题人最想隐藏的历史真相:

      Diff
      - flag{nonono} + flag{git_is_good_distributed_version_control_system}

      在代码对比中,带有+号的绿字,就是那一次提交时被写进去的真正内容!

http://www.jsqmd.com/news/931843/

相关文章:

  • 2026襄阳卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房漏水 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 企业资讯
  • 机组电涡流传感器TR-81
  • Chinese-LLaMA-2-7B与原始Llama-2对比:中文理解能力提升分析
  • 逆势承压!2026汽车活塞市场分析:行业发展趋势与未来前景预判
  • 2026 时尚家庭选购四件套5大宝藏家纺品牌完整盘点 - qiqi1113
  • 如何将ArcMenu集成到现有项目:迁移与适配完整指南
  • ASP.NET Core .NET 10 错误响应体系全景:从 BadRequest 到编译器基础设施
  • 5倍提速!用Fast-GitHub突破国内访问GitHub的技术瓶颈
  • 外星人将在 2026 年台北电脑展发布多款游戏显示器,7 月及秋季陆续上市
  • Sora 2珠宝展示不卡顿?揭秘底层NeRF-Transformer混合架构与实时LOD调度机制
  • 2026青岛卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房漏水 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 企业资讯
  • BigBird-Pegasus-large-arxiv常见问题解答:从安装到使用的全面排错指南 [特殊字符]
  • 抖音下载器终极指南:三步实现无水印视频批量下载,免费构建你的内容收藏库
  • 2026广州卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房漏水 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 企业资讯
  • VisualCppRedist AIO:Windows系统运行库问题的终极解决方案
  • 2026桂林卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房漏水 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 企业资讯
  • AMD Ryzen系统管理单元调试工具:硬件级电源管理与超频优化终极指南
  • 复古外壳智能改造:Echo Dot移植与3D打印适配全指南
  • PP-FormulaNet-L实战应用:在教育、科研、出版领域的7个创新案例
  • Umi-OCR终极指南:免费离线OCR如何彻底改变你的数字工作流
  • 2026淄博卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房漏水 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 企业资讯
  • 网上购物|基于SprinBoot+vue的网上购物系统(源码+数据库+文档)
  • ncmdump完全解密指南:3分钟破解网易云音乐格式限制,实现音频自由播放
  • SmolLM2-360M-Instruct-openmind实战案例:文本摘要与改写应用
  • 如何用EmailGenerator-OpenMind提升邮件写作效率:10个实用技巧
  • 在Fedora/CentOS Stream上,用QEMU+KVM给国产麒麟V10 SP1 arm64系统开个虚拟机(保姆级命令详解)
  • 发电机机械转速开关JSX-584
  • 如何永久保存微信聊天记录?你的个人数字记忆守护指南
  • 用FireWire唤醒沉睡iPod:老设备电源故障诊断与修复指南
  • 2026韶关卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房漏水 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 企业资讯