picoCTF 2023 Java Code Analysis

本題有超過 20 個 Java 程式,根本看不完。
查看 README.md 發現程式由 BookShelf Base Server 改寫而成。

可先下載 Source Code,用 git 比對哪些程式改過,最後只有 4 個程式要看。

比對程式

BookShelfConfig 沒什麼特別,一些初始設定而已。

ReauthenticationFilterUserSecurityDetails 似乎讓使用者能認證自己之類,沒看懂。

SecretGenerator 負責 JWT 的 Secret,他只放 1234,因此可偽造 JWT Token。

偽造 JWT

JWT 沒存在 Cookie。

貼上 token 可進入 Admin Panel,但不知為何無法看 Flag,test 帳號也顯示 Free Role,無法修改。

可能是沒用正常方式登入,詳細情況需看 code。

但能用正常方式提升別的 user 權限,用 user 登入就能看 flag。