2024 THJCC WINTER writeup

2024 THJCC WINTER writeup

Mon Dec 16 2024
221 words · 2 minutes

前言

我這次出兩題,分別是

  • Web
    • Login Panel
  • Misc
    • png chunk

Login Panel

預期解是 prototype pollution

sql injection

SELECT ? AS SECRET FROM users WHERE user = ? AND password = ?

->

SELECT ? AS SECRET FROM users WHERE user = 'admin' AND password = '1'

but 這樣行不通

prototype pollution

loginData = Object.assign({ secret }, loginData); // oh, that's cool

其中這邊有個 prototype pollution Object.assign 將 secret 加入 loginData,可能導致對象原型的污染。 原先的loginData是

{
"secret": "THJCC{fake}",
"user": "admin",
"password": "1"
}

可以加入__proto__

只要我

{
"user": "admin",
"__proto__": {
"password": {
"password": 1
}
}
}

加入 __proto__ 的,整個 Object.prototype.password.password 被設為 1

截圖 2024-12-16 15.44.42

FLAG : THJCC{pRoTo7YP3_Poi50ninG???}


png chunk

顧名思義就是png 的區塊 用 https://www.nayuki.io/page/png-file-chunk-inspector 去看會發現 image IEND 和 ITAT 的位置有錯 只有把它調整過來就好 image image


Login Panel 非預期解

image image

如果您是通靈大師,那麼密碼藏在首頁 image 密碼就是never gonna give you up {“user”:“admin”,“password”:“https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley”} image 🤏


Thanks for reading!

2024 THJCC WINTER writeup

Mon Dec 16 2024
221 words · 2 minutes