SQLMAP自動注入(一)


一,五種常見的注入方式
  • 基於Bool類型的注入方式
  • 基於時間的盲注
' and (select * from (select(sleep(20)))a)--+
 
  • 基於錯誤的檢測
服務器把錯誤信息反饋回來(少見)
 
  • 基於UNION聯合查詢
    聯合查詢的前提是通過for(while)循環直接輸出聯合查詢結果,否則我們只能查出第一條結果
 
  • 基於堆疊查詢檢測
通過分號多條查詢 前提是可以加分號......
如果原先的注入代碼中有select,此時用分號堆疊查詢無效
 
二,常見命令解釋
-d表示主動連接數據庫,當然我們需要有賬號密碼,類似於我們是客戶端機器
-u 表示掃描的目標URL地址,但是url地址必須要有參數? a=XXX
-m  我們可寫多個url地址,將他們放入一個文件中,-m則可以逐個進行掃描
 
下面對以上幾個參數進行實驗測試
  • -u參數
先進入mutillidae測試環境,選擇sql注入
當我們輸入賬號密碼(錯誤)之后url地址欄就會有參數顯示
此時就可以利用-u方式進行sqlmap探測
 
-p表示對某個變量進行探測,-f表示指紋探測
紅圈表示已經探測出username字段有可能sql注入,后面疑問表示是否跳過其他的數據庫的掃描類型,這里已經判斷基本為MYSQL類型數據庫,最后的查詢結果:
存放的結果放在最后一行 root/.sqlmap/output/XXXXXXXX
剛剛設置的參數為-f 查詢數據庫的指紋信息,也可以設置其他參數 
--users 查詢數據庫中用戶有哪些
--banner查詢對方數據庫版本信息 
--dbs查詢目標數據庫管理系統有哪些庫
--schema查源數據庫
-a  查詢所有的信息 (all)
 
  • -d參數
連接數據庫語句:sqlmap -d "mysql://賬號:密碼@192.168.1.1:3306/dvwa" -f --users
 
  • -m參數
有多個url地址時候
sqlmap -m list.txt
 
如果使用POST方式就無法用url方式掃描
可以使用http請求文件,這里需要用burp去結合,將所有頭部信息保存至一個文件request.txt文件內,然后用sqlmap -r request.txt進行掃描
現在burp截斷一個我們需要的post請求
將他保存為txt文件,之后用sqlmap進行掃描
 
同樣的文件掃描我們可以利用burp里面的log文件
方式:sqlmap -l log.txt
 
對於HTTPS的掃描:
sqlmap -u "目標url:端口" --force-ssl


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM