學習sqlmap時記得一些筆記,上傳到博客方便之後查找php
sqlmap -r 掃描http是否存在漏洞(用bp的http請求)
sqlmap -m 用文本進行get掃描
sqlmap -l 用bp生成的文件掃描
sqlmap -x 從stilmap.xml進行url掃描
sqlmap -c 從sqlmap.conf使用
--dbs 枚舉全部數據庫
-D 指定數據庫
--table 枚舉數據表
-T 指定數據表
--columns 枚舉數據字段
-C 指定數據字段
--dump 打開相應字段
-a 檢測全部內容
-z縮寫命令
-p 指定sql探測的參數(url中或者post)
-f 獲取指紋
-v 設置風險值(可能會報錯)
--beep 發現注入會發出聲音
--alert= 當發現sql注入,運行系統命令
--from解析測試表單的輸入字段
--crawl= 根據設置深度爬取url
--batch 決策默認選擇
--no-cast 針對數據庫老版本 將null值轉換爲空格
--data= 屬性 可把get的xxx.php?id=1 更改成 xxx.php --data="id=1" 隱式的改成post請求
--method =強制更改http請求方法
--level 等級,最高5 coo kie最低須要2 user-agent,referer最低須要3 host頭最低須要5
--dbs 對應數據庫名稱
--skip-urlencode 不進行url加密
--skip-static= 忽略指定參數(如xxx.php,靜態參數 防止注入出現問題)
--scop 對bp生成文件進行過濾(本身加過濾條件) 例如 -l xxxx --scop 「127.0.0.1」過濾ip是127.0.0.1的
--randomize 設置隨機參數,長度類型與提供的參數保持一致
--param-del= 指明分割符號(sqlmap默認分隔符是&,若是分隔符號是別的 就要指認使用的分隔符)
--safe-url --safe-post --safe-req --safe-freq 避免屢次失敗後銷燬會話
--skip-url-urlencode 不進行url加密 有些網站後臺不遵循rfc標準,須要以原始的非編碼形式發送時使用
--risk 3 執行測試的風險(0-3,默認爲1)risk越高,越慢可是越安全
--check-internet 確保網沒有問題
--flush-session 刷新緩存
--fresh-queeries 忽略儲存的結果
--identify-waf 查看是否有waf
--moblie 使用手機user-agent
時間_次數······
--timeout 等待時間(超時)能夠設置浮點數
--delay 設置延時
--retries 設置對應重試次數
--eta注入數據時間·
http
--user-agent= 指定user-agent (sqlmap默認的可能會被攔截,須要指定一個合法瀏覽器的user-agent)不指定也能夠直接用他會隨機使用一個
--headers 設置額外的http頭 多個標頭須要\n(換行符)隔開 level=5
--auth-type= 設置http認證 支持basic(彈出對話框) digest ntlm
--auth-cred http認證(登陸)須要的用戶名和密碼
--auth-file 指定私鑰文件 提供的值爲一個pem格式的key_file其中包含協議和私鑰
--ignore-401 忽略401錯誤
proxy代理
--proxy 設置代理服務器位置
--proxy-cred 代理的認證信息(帳號 密碼)
--proxy-file 使用文件 設置多條代理
tor
--tor 設置tor網絡
--tor-port 設置默認之外的Tor代理端口
--tor-type 指定tor類型
--check-tor 查看tor是否可使用
cookie(level不低於2)
--cookie 指定cookie
--cookie-del 指定cookie分隔符號
--load-cookies 探測過程當中發送來的cookie不詢問一直使用
--drop-set-cookie 探測過程當中發送來的cookie不詢問不使用
性能優化
-o開啓全部的性能優化參數
--keep-alive 設置持久鏈接 (在http報文中設置connection:keep-alive)
--null-connection 不接受http中的body
--thread 設置線程最大爲10
--predct-output 根據推理算法對檢索字符的順序統計預測 與--thread不兼容
指定位置注入
-p指定探查參數 多個用,分割
--skip 指定忽略參數 多個用,分割
--param-exclude= 忽略具體內容的參數 多個用|分割 (例如session)
--skip-static忽略非動態參數
--os windows --os linux 默認狀況下會自動識別os類型 也能夠指定os進行鍼對系統更詳細的探測
uri注入
sqlmp沒法自動探測 須要用*在參數後指定,(星號能夠在任何合法文件中指定注入點)
DBMS
--count 只計算表的數量
--schema枚舉模式列表下包含的全部數據庫 表 列 以及它們的類型
--banner或-b 數據庫版本信息
--current-user 當前用戶名
--current-db 查看當前數據庫名
--hostname 當前主機名
--is-dba 檢測當前用戶是不是數據庫管理權限
--users 獲取當前DBMS全部用戶
--passwrod 獲取當前全部dbms用戶密碼
--privilegs --role 枚舉dbms權限
--encoding=強制設置dbms編碼
csv
--csv-del= 設置分割符號
mysql<5.0 mysql中沒有元數據庫 information_schema
--common_tables
--common_columns
sqlmap讀寫文件
--file_read= 讀取對應文件 (絕對路徑)
--file_write= 讀取本地文件
--file_dest=寫入文件 與--file_write一塊兒寫
mysql