這是我們在第四屆讀書會成員招募題目釋出 Write-up
題目列表:
HG 巡禮
Web Naughty!!!
Web 基本題
binary1
misc
題目列表:
Web 基本題
- 啊這個畫面不就是考常見的⋯⋯那個嘛!但是好像有些限制?
- 提示:記得看 code 喔!這題的 flag 是 hg_4th{XXXXXXXXXX}
- (Hint: 工具掃不出來的喔喔喔喔喔喔喔喔)
Start here 是一個登入介面,需要輸入帳號與密碼
Source Code 則是這個畫面
看到直接將 $username 放在 SQL query 中,就可以推斷這地方有 SQL Injection 了
(正確的 prepared 用法:https://www.php.net/manual/en/pdo.prepare.php)
依照邏輯我們先嘗試一次’or ‘1’=’1’# 發現並不如我們預期順利登入,回頭檢視發現前面有 Regular Expression,其中 $username 必須符合 \d\d\d\d\D\D\D\D\d\d\d\D\D\D\d\d\d\D\D\D 的格式,也就是 5555aaaa555aaa555aaa 類似這樣的格式
\d: 任何數字字元,等同 [0-9]
\D: 任何非數字字元,等同 [^0-9]
而且我們發現到這個條件式並沒有要求開頭或結尾
^: 開頭
$: 結尾
所以我們有多種解法: