# Web SQL injection Lab18 題目敘述可知這題是透過 SQL Injection 注入 payload,讓伺服器去幫我們對外發出請求(像是 DNS 查詢),我們就能知道注入成功。 利用 SQL injection 讓伺服器對 Burp Collaborator 提供的域名發出 DNS 查詢,成功即過關。 --- 一樣先進入網站並攔截請求。   在這個網頁當中我嘗試瀏覽一下,沒有找到其他有趣的東西,但在網頁的下方,有個 Check stock,點擊後會出現 POST 請求。   而在本題中的關鍵就是在於查詢庫存的行為中,所以可以透過這個查詢的行為來嘗試竊取我們要的東西,所以我嘗試輸入 SQL 的查詢語法。 ``` UNION SELECT NULL ```  但在這個網頁中,防火牆會擋下跟 SQL 有關的語法,所以我們要來嘗試繞過防火牆,因此我們用 Hackvertor 將 payload 轉成 hex entity(繞過 WAF)    這時防火牆確實沒有擋住我們,所以我們可以看到庫存數,而我們需要使用者帳號密碼,意味著我們需要兩個欄位,這裡加上第二個 NULL。  看來一次不能回傳多個欄位,但在前面的章節有學習到將兩筆資料串連起來,所以: ``` 1 UNION SELECT username || '~' || password FROM users ``` 將使用者帳密用~串聯起來一次輸出,所以我們再次察看結果。  獲得帳密,拿去登入: `administrator:ivd1p8wj7e787rwxstrb`  ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up