AIS3 pre-exam 2023 Writeup

前言 這次打了個第 8 名,但這次暑假有事情了,不能去 qq。 Web Login Panel app.post("/login", recaptcha.middleware.verify, (req, res) => { const { username, password } = req.body; db.get( `SELECT * FROM Users WHERE username = '${username}' AND password = '${password}'`, async (err, row) => { if (err) return res.redirect(`https://www.youtube.com/watch?v=dQw4w9WgXcQ`); if (!row) return res.redirect(`/login?msg=invalid_credentials`); if (row.username !== username) { // special case return res.redirect(`https://www.youtube.com/watch?v=E6jbBLrxY1U`); } if (req.recaptcha.error) { console.log(req.recaptcha.error); return res.redirect(`/login?msg=invalid_captcha`); } req.session.username = username; return res....

June 24, 2023 · 4 min · Vincent55

AIS3 pre-exam 2022 Writeup

前言 這次打了個第 14 名,成功拿到 AIS3 的門票 ouob 希望這次是實體的。 Web Poking Bear 首先觀察到 SECRET BEAR id 位於 350 和 777 之間,因此寫個 script 找到 SECRET BEAR 的 ID import requests url = 'http://chals1.ais3.org:8987/bear/{}' for i in range(350,777): r = requests.get(url.format(str(i))) if "This is not even a bear." not in r.text: print(str(i)) 之後存取該 url 後改個 cookie 即可拿到 flag Simple File Uploader 首先觀察到將副檔名改為 pHp 即可繞過,因此檔名為 poc.pHp。 內容則利用 splitline 大大的工具 phpFuck 將 backdoor 混淆,上傳後即可 RCE...

June 26, 2022 · 3 min · Vincent55