轉自http://drops.wooyun.org/tips/143
當給sqlmap這麼一個url的時候,它會:
1、判斷可注入的參數
2、判斷可以用那種SQL注入技術來注入
3、識別出哪種數據庫
4、根據用戶選擇,讀取哪些數據
sqlmap支持五種不同的注入模式:
1、基於布爾的盲注,即可以根據返回頁面判斷條件真假的注入。
2、基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。
3、基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中。
4、聯合查詢注入,可以使用union的情況下的注入。
5、堆查詢注入,可以同時執行多條語句的執行時的注入。
sqlmap支持的數據庫有:
MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB
可以提供一個簡單的URL,Burp或WebScarab請求日誌文件,文本文檔中的完整http請求或者Google的搜索,匹配出結果頁面,也可以自己定義一個正則來判斷那個地址去測試。
測試GET參數,POST參數,HTTP Cookie參數,HTTP User-Agent頭和HTTP Referer頭來確認是否有SQL注入,它也可以指定用逗號分隔的列表的具體參數來測試。
可以設定HTTP(S)請求的併發數,來提高盲注時的效率。
Youtube上有人做的使用sqlmap的視頻:
http://www.youtube.com/user/inquisb/videos
http://www.youtube.com/user/stamparm/videos
使用sqlmap的實例文章:
http://unconciousmind.blogspot.com/search/label/sqlmap
可以點擊https://github.com/sqlmapproject/sqlmap/tarball/master下載最新版本sqlmap。
也可以使用git來獲取sqlmap
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
之後可以直接使用命令來更新
python sqlmap.py --update
或者
git pull
更新sqlmap
如果你想觀察sqlmap對一個點是進行了怎樣的嘗試判斷以及讀取數據的,可以使用-v參數。
共有七個等級,默認爲1:
0、只顯示python錯誤以及嚴重的信息。
1、同時顯示基本信息和警告信息。(默認)
2、同時顯示debug信息。
3、同時顯示注入的payload。
4、同時顯示HTTP請求。
5、同時顯示HTTP響應頭。
6、同時顯示HTTP響應頁面。
如果你想看到sqlmap發送的測試payload最好的等級就是3。