Sqli-labs-Less-13


#手工注入
post傳參了
根據題目看,像一個登錄頁面,嘗試使用布爾型盲注測試能否登錄網站
1. Username輸入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,但是沒有顯示位,所以嘗試報錯注入
報錯注入payload為:
a') and updatexml(1,concat(1,(select user())),3)--
爆出當前用戶名!!!
成功利用漏洞!!!
#自動化注入-SQLmap工具注入
?SQLmap用戶手冊:用法 - sqlmap 用戶手冊
由于這題是post請求,所以先使用burp進行抓包,然后將數據包存入txt文件中打包? 用-r 選擇目標txt文件
python sqlmap.py -r data.txt -current-db
爆出當前數據庫名稱