載入中...

[PicoCTF] Verify
Category:
Forensics
Difficulty:
Easy
Description:
People keep trying to trick my players with imitation flags.
I want to make sure they get the real thing!
I’m going to provide the
SHA-256 hash
and a decrypt script to help you know that my flags are legitimate.
額外細節會在啟動挑戰實例後提供。
題目筆記
這題主要觀念在於
SHA-256 雜湊值比對
與
Linux 基本檔案操作
。
題目會給你:
一個檔案的 SHA-256 雜湊值
一個解密腳本
decrypt.sh
一個目錄
files
裡面放了很多檔案
我們需要找到與題目提供的雜湊值相符的檔案,再用
decrypt.sh
解密。
解題步驟

  1. 連上主機
    根據題目給的
    連線資訊與密碼
    ,用 SSH 登入伺服器:
  2. 查看目錄內容
    登入後用ls指令,先看看有哪些檔案:
1
1
1
2
$ 
ls

會看到
2個檔案
以及
1個資料夾

1
1
1
checksum.txt  decrypt.sh  files
  1. 計算 SHA-256
    使用
    sha256sum
    計算 files 資料夾內所有檔案的
    SHA-256 雜湊值
    :
1
1
1
2
3
$ 
sha256sum
files/*

將files裡面所有的檔案轉成 SHA-256 的 Hash_Code
輸出會類似:

1
2
3
1
2
3
1
2
03b52eabed517324828b9e09cbbf8a7b0911f348f76cf989ba6d51acede6d5d8  files/file1
...

4.尋找目標雜湊值
假設題目提供的雜湊值為:

1
1
1
03b52eabed517324828b9e09cbbf8a7b0911f348f76cf989ba6d51acede6d5d8

我們可以用
grep
快速比對:

1
1
1
2
3
$ 
sha256sum
files/* | grep 03b52eabed517324828b9e09cbbf8a7b0911f348f76cf989ba6d51acede6d5d8

這樣就能找到正確的檔案名稱,例如:
files/flag1
5.解密檔案
用檔案內提供的 decrypt.sh 解密檔案:

1
1
1
$ ./decrypt.sh files/flag1

如果檔案沒有執行權限,要先取得權限:

1
1
1
2
3
$ 
chmod
+x decrypt.sh

執行後就能拿到Flag了
成功獲取 Flag
恭喜你拿到 Flag 了!
補充筆記
SHA-256 是什麼?
SHA-256
是一種
不可逆的雜湊函數(Hash Function)
,
它會將任意長度的輸入轉換成固定長度的
256-bit
(即64字元的十六進制字串)輸出。
SHA-256 常用於:
檔案完整性驗證
密碼存儲
為什麼要比對雜湊值?
如果檔案被修改,即使只改一個字元,SHA-256 的結果也會完全不同。
因此,可以用來驗證檔案是否被篡改,確保資料完整性。

avatar
YowDesert
這是YowDesert的部落格,記錄學習資訊工程領域的過程和心得,並以簡單白話的方式呈現,一起和我踏入資訊世界吧,有興趣的話歡迎Follow我歐。
Follow Me
公告
This is my Blog