yf2012513-netizen/picoCTF-MyGit

GitHub: yf2012513-netizen/picoCTF-MyGit

picoCTF「MY GIT」挑战的解题报告,通过伪造 Git 用户身份配置来绕过服务端身份验证检查。

Stars: 0 | Forks: 0

cat << 'EOF' > README.md # picoCTF - MY GIT 解题报告 ## 挑战信息 - **分类:** General Skills - **难度:** Easy - **分数:** 50 pts - **描述:** 我搭建了我自己的 Git 服务器,并使用了我自己的规则! ## 解析 (解説) 本挑战测试了对 **Git 身份配置**及 Git 如何追踪作者的理解。 提交更改时,Git 依赖本地配置(`user.name` 和 `user.email`)来归属该工作。由于任何用户都可以轻松修改这些内容,因此它们不能被视为安全的身份验证。通过伪装成预期的 `root` 身份,我们绕过了服务器的基本检查,并在推送文件后成功获取了 flag。 (この問題は、**Gitのユーザー識別設定**とその仕組みの理解を問うものです。 Gitでコミットする際、制作者の情報はローカルの設定(`user.name` と `user.email`)がそのまま使用されます。これらは誰でも自由に変更可能であるため、確実な本人認証にはなりません。問題の指示通りに `root` ユーザーを装う設定を行うことで、サーバー側のチェックを通過し、プッシュ時にフラグを獲得できました。) ## 解题步骤 / 实操指南 ### 1. 克隆仓库 ``` git clone ssh://git@:/git/challenge.git ``` ### 2. 配置 Git 身份 更改本地 Git 配置以匹配所需的 root 用户身份。 ``` git config user.name "root" git config user.email "root@picoctf" ``` ### 3. 创建并推送 Flag 文件 ``` touch flag.txt git add flag.txt git commit -m "Add flag.txt" git push origin master ``` ## 终端执行日志 ``` \$ touch flag.txt \$ git commit -m "Add flag.txt" On branch master Your branch is up to date with 'origin/master'. Untracked files: (use "git add ..." to include in what will be committed) flag.txt nothing added to commit but untracked files present (use "git add" to track) \$ git add flag.txt \$ git commit -m "Add flag.txt" [master e0e3150] Add flag.txt 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 flag.txt \$ git push origin master git@foggy-cliff.picoctf.net's password: Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 8 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 266 bytes | 266.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: Author matched and flag.txt found in commit... remote: Congratulations! You have successfully impersonated the root user remote: Here's your flag: picoCTF{REDACTED} To ssh://foggy-cliff.picoctf.net:54427/git/challenge.git b4b49f2..e0e3150 master -> master ``` ## Flag `picoCTF{REDACTED}` EOF
标签:Git, Writeup, 内存分配, 基础技能, 安全可观测性, 应用安全, 版本控制, 网络安全研究