2019年4月5日 星期五

【Write-up】4th 讀書會成員招募 Write-up Web

這是我們在第四屆讀書會成員招募題目釋出 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]

而且我們發現到這個條件式並沒有要求開頭或結尾
^: 開頭
$: 結尾

所以我們有多種解法: