Sqli-labs-Less-12

#手工注入
post傳參了
根據題目看,像一個登錄頁面,嘗試使用布爾型盲注測試能否登錄網站
1. Username輸入a'? a"? 測試是否會有報錯,burp抓包
報錯:syntax to use near '"a"") and password=("") LIMIT 0,1' at line 1
分析可知,username和password 的條件判斷在一個where語句中;整條語句使用雙引號加小括號? ") 閉合。
所以,payload分析輸入一個username值然后使用雙引號加小括號? ") 閉合前面的語句,然后為了使where語句條件成立,加上一個or 1=1 ,-- 注釋語句使后面的語句直接注釋password不用判斷。只需填寫username。
即payload:
a") or 1=1--
成功登錄!!!
嘗試漏洞利用,使用order by 測試列數?? 當值=1時正常回顯
當值為3時報錯顯示,所以列數為2
根據列數使用union聯合查詢測試顯示位:
輸入:-admin") union select 1,2--
發現有兩個顯示為,進行利用,爆出當前數據庫名稱及當前用戶名
成功利用漏洞!!!
#自動化注入-SQLmap工具注入
SQLmap用戶手冊:用法 - sqlmap 用戶手冊
由于這題是post請求,所以先使用burp進行抓包,然后將數據包存入txt文件中打包? 用-r 選擇目標txt文件
Python sqlmap.py -r data.txt --current-db --current-user
爆出當前用戶名及當前數據庫名稱