write by y1w3n(2024.05)
General Skills
Super SSH
題目說明
solve
照題目說的做就得到flag了
answer
picoCTF{s3cur3_c0nn3ct10n_07a987ac}
note
- 輸入密碼的時候它不會顯示出來你打什麼
Time Machine
題目說明
- challenge
- message.txt
solve
git log
: 查看提交歷史
得到flag
answer
picoCTF{t1m3m@ch1n3_8defe16a}
note
Commitment Issues
題目說明
- 一個壓縮的資料夾: challenge.zip
solve
他說他刪掉了flag所以我用git log
查看提交歷史
看到picoCTF <ops@picoctf.com>
他在3/12創建了flag後又刪掉了
因此用git show
,顯示指定提交的詳細訊息
answer
picoCTF{s@n1t1z3_cf09a485}
note
git
: 版本控制
常用指令
Verify
題目說明
- challenge
- files(資料夾,裡面放了一堆要比對的文件)
- decrypt. sh
- checksum.txt
solve
要找到跟checksum.txt裡面hash值一樣的檔案
- 使用
sha256sum files/* | grep 3ad37ed6c5ab81d31e4c94ae611e0adf2e9e3e6bee55804ebc7f386283e366a4 3ad37ed6c5ab81d31e4c94ae611e0adf2e9e3e6bee55804ebc7f386283e366a4 files/e018b574
看到files裡e018b574的文件符合條件
接著用它給的decrypt. sh解密
answer
picoCTF{trust_but_verify_e018b574}
note
sha256sum
: 驗證文件- 計算文件的校驗和
- 跟預期值做比較
file/*
: file資料夾中所有檔案
Blame Game
題目說明
給一個壓縮過的challenge.zip裡面有一個message. py
solve
git blame <file>
: 顯示檔案的每一行是在哪個提交中被修改的,並顯示修改者的資訊
得到flag
answer
picoCTF{@sk_th3_1nt3rn_cfca95b2}
Collaborative Development
題目說明
給了一個flag. py ,裡面只有一行:print("Printing the flag...")
就沒了
solve
git branch -a
:看可用的分支
看到我現在在main
,然後還有feature/part-1
、feature/part-2
、feature/part-3
這幾個分支git merge feature/part-1
flag.py中有未提交的更改,而合併操作會覆蓋這些更改。- 如何解決?
git checkout -- flag.py
: 撤銷修改- 然後再執行一次
git merge feature/part-1
就好了,現在flag.py長這樣:
- 如何解決?
git merge feature/part-2
無法確定身份資訊(作者和提交者)- 如何解決?
- 登入就好www(直接拿人家的XD)
- 然後再執行一次
git merge feature/part-2
就好了,現在flag.py長這樣:
- 登入就好www(直接拿人家的XD)
- 如何解決?
git merge feature/part-3
嘗試合併feature/part-3分支時發生了衝突,導致合併無法進行- 如何解決?
- 打開flag. py,看到衝突標記,
<<<<<<< HEAD
、=======
和>>>>>>> feature/part-2
表示目前分支(main分支)和要合併的分支(feature/part-2分支)之間有衝突
- 手動把衝突標記刪掉
git add flag.py
: 提交git merge --continue
: 繼續- 再執行一次
git merge feature/part-3
就好了,現在flag.py長這樣:
- 打開flag. py,看到衝突標記,
- 如何解決?
- 已經有flag了但如果想做到完美就把這邊的合併衝突也手動解決掉
- 執行
answer
picoCTF{t3@mw0rk_m@k3s_th3_dr3@m_w0rk_7ae8dd33}
note
分支是獨立的。使得團隊成員能夠在不互相干擾的情況下並行開發和合作。
binhexa
題目說明
進去之後長這樣
就是它給了兩個二進制數字接著出題要我們答,共六題,我無聊玩了三次,每次出題那兩個數字是隨機的
solve
Question 1/6:
- “>> 1” 右循環1 bits: 把每個右移1 bits,最後一個補到最前面
- “>> 1” 右循環1 bits: 把每個右移1 bits,最後一個補到最前面
Question 2/6:
- ‘+’加法運算
- ‘+’加法運算
Question 3/6:
- ‘*’ 乘法運算
- ‘*’ 乘法運算
Question 4/6:
- “<< 1” 左循環1 bits: 把每個左移1 bits,第一個捕到最後面
- “<< 1” 左循環1 bits: 把每個左移1 bits,第一個捕到最後面
Question 5/6:
- AND運算: 2個都是1才會輸出1
- AND運算: 2個都是1才會輸出1
Question 6/6:
- OR運算: 其中一個是1結果就是1
- OR運算: 其中一個是1結果就是1
最後要我給最後一題答案的16進制
- 11111111 -> ff
最後得到flag
- 11111111 -> ff
answer
picoCTF{b1tw^3se_0p3eR@tI0n_su33essFuL_d9a7ddd2}