What is John the Ripper ?
John the Ripper 是一款開源且強大的密碼破解工具。它最初是為 Unix 系統設計的,但現在支援數百種雜湊(Hash)和密碼類型。
- 核心功能: 透過「字典攻擊」(Dictionary Attack)或「暴力破解」(Brute Force)來找回原始密碼。
- 工作原理: 它會拿你的字典檔裡的單字,經過指定的演算法加密後,對比結果是否與目標 Hash 一致。
- 特色:
- 自動偵測: 能自動識別 Hash 類型。
- 多樣化轉換: 內建許多 …2john 工具(如 zip2john, ssh2john),能把壓縮檔或金鑰轉換成它能破解的格式。
What is hashid ?
當你拿到一串像hash的亂碼時,你可能不知道它是 MD5 還是 NTLM。hashid 可以幫忙識別。
what is Flask Session Cookie?
這是一個 Web 開發框架 Flask 所使用的機制,用來在瀏覽器端儲存使用者的登入狀態或資訊。
- 核心功能: 當你登入一個 Flask 網站後,伺服器會給你一個 Cookie,讓網站「記住」你是誰。
- 運作機制: Flask 的 Session 預設是「客戶端儲存」。這意味著資料是存在你的瀏覽器裡,而不是伺服器資料庫。
- 結構: 它通常由三部分組成:內容 . 時間戳記 . 簽章。
解題
下載與查看題目
下載題目檔案
查看題目檔案類型
file user.db
發現user.db是SQLite 3.x database檔案
讀取user.db的資料
使用sqlite3讀取user.db檔案
sqlite3 users.db
查看有什麼資料表,發現users資料表
sqlite> .table
設定顯示資料表欄位名稱
sqlite> .header on
獲取users資料表全部內容
sqlite> select * from users;
取得admin password hash值
c20fa16907343eef642d10f0bdb81bf629e6aaf6c906f26eabda079ca9e5ab67
破解admin密碼hash值
使用hashid識別hash值的加密演算法
hashid c20fa16907343eef642d10f0bdb81bf629e6aaf6c906f26eabda079ca9e5ab67
將hash值存入admin.txt檔案
echo "c20fa16907343eef642d10f0bdb81bf629e6aaf6c906f26eabda079ca9e5ab67">admin.txt
建立密碼字典
cp /usr/share/wordlists/rockyou.txt.gz /home/zhi/Downloads/
gzip -d /home/zhi/Downloads/rockyou.txt.gz
使用 John the Ripper 進行破解密碼
john --format=raw-sha256 --wordlist=/home/zhi/Downloads/rockyou.txt admin.txt
- john:John the Ripper 是一款開源的密碼恢復工具,常用於安全審計和滲透測試。
- –format=raw-sha256:John 密碼雜湊的類型。SHA-256 是一種常見的加密演算法,會將原始密碼轉換為一串固定長度(64 個十六進位字元)的雜湊值。使用 raw- 前綴表示該雜湊值是「純粹」的 SHA-256(沒有經過特殊的鹽值加成或特定系統如 Django/Apache 的變形處理)。
- –wordlist=/home/zhi/Downloads/rockyou.txt :指定字典檔的路徑
取得admin password
apple@123
分析python程式
發現他把opt驗證碼存到session中

登入網頁,取得flag
使用admin帳密登入網頁
發現需要opt驗證,查看cookie裡的session
利用網站嘗試解析session,取得opt驗證碼
網站
https://www.kirsle.net/wizards/flask-session.cgi
輸入opt驗證碼
取得flag

提交flag



說些什麼吧!