<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    3.3 SqlMap用法—請求

    這些選項可用于指定如何連接到目標URL。

    3.3.1.HTTP方法

    選項: --method

    sqlmap自動檢測將在HTTP請求中使用的正確HTTP方法。但是,在某些情況下,需要強制使用PUT自動機未使用的特定HTTP方法(例如)。使用此選項(例如--method=PUT)是可能的。

    3.3.2.HTTP數據

    選項: --data

    默認情況下,用于執行HTTP請求的HTTP方法是GET,但是您可以通過提供要在POST請求中發送的數據,將其隱式更改為POST。這些數據(即那些參數)將針對SQL注入以及任何提供的GET參數進行測試。

    例如:

    $ python sqlmap.py -u "http://www.target.com/vuln.php" --data="id=1" -f --banne
    r --dbs --users
    

    3.3.3.參數分割符

    選項: --param-del

    在某些情況下,&需要覆蓋默認參數定界符(例如,GET和POST數據中的參數),以使sqlmap能夠正確拆分和分別處理每個參數。

    例如:

    $ python sqlmap.py -u "http://www.target.com/vuln.php" --data="query=foobar;id=
    1" --param-del=";" -f --banner --dbs --users
    

    3.3.4.HTTP Cookie

    選項和開關:--cookie--cookie-del--load-cookies--drop-set-cookie

    這些選項和開關可以在兩種情況下使用:

    • 該Web應用程序需要基于cookie進行身份驗證,并且您擁有此類數據。
    • 您想檢測和利用對此類標頭值的SQL注入。

    不論哪種原因,您都需要發送帶有sqlmap請求的cookie,要執行的步驟如下:

    • 使用您喜歡的瀏覽器登錄到應用程序。
    • 從瀏覽器的首選項或HTTP代理屏幕中獲取HTTP Cookie,然后將其復制到剪貼板。
    • 返回您的Shell并通過將剪貼板粘貼為option的值來運行sqlmap --cookie

    注意,HTTP Cookie標頭值通常是由分離的;字符,通過&。sqlmap也可以將它們識別為單獨的集合parameter=value,以及GET和POST參數。如果分隔符不是分隔符,則;可以使用option指定--cookie-del

    如果在通信過程中的任何時間,Web應用程序都響應Set-Cookie標頭,則sqlmap將自動在所有其他HTTP請求中將其值用作Cookie標頭。sqlmap還將自動測試這些值以進行SQL注入。可以通過提供開關來避免這種情況--drop-set-cookie-sqlmap將忽略任何即將到來的Set-Cookie標頭。

    反之亦然,如果您提供Cookie帶有選項的HTTP 標頭,--cookie并且目標URL Set-Cookie隨時發送HTTP 標頭,則sqlmap會詢問您用于以下HTTP請求的cookie組。

    還有一個選項--load-cookies可用于提供包含Netscape / wget格式的cookie的特殊文件。

    請注意,Cookie如果--level設置為2或更高,還將針對SQL注入測試HTTP 標頭。請閱讀下面的詳細信息。

    3.3.5.HTTP User-Agent

    選項和開關:--user-agent--random-agent

    默認情況下,sqlmap使用以下User-Agent標頭值執行HTTP請求:

    sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org)
    

    但是,可以--user-agent通過提供自定義User-Agent作為選項的參數來偽造該選項。

    此外,通過設置開關--random-agent,SqlMap的將隨機選擇一個User-Agent./txt/user-agents.txt文本文件,并使用它的會話中的所有HTTP請求。

    一些站點執行服務器端對HTTP User-Agent標頭值的檢查,如果User-Agent未提供有效值,該值不是預期值或Web應用程序防火墻或類似的入侵防御系統將其列入黑名單,則HTTP響應將失敗。在這種情況下,sqlmap將向您顯示一條消息,如下所示:

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

    請注意,User-Agent如果--level設置為3或更高,還將針對SQL注入測試HTTP 標頭。請閱讀下面的詳細信息。

    3.3.6.HTTP Host

    選項: --host

    您可以手動設置HTTP Host標頭值。默認情況下,HTTP Host標頭是從提供的目標URL解析的。

    請注意,如果將HTTP Host標頭--level設置為5,還將針對SQL注入測試HTTP 標頭。請閱讀下面的詳細信息。

    3.3.7.HTTP Referer

    選項: --referer

    可以偽造HTTP Referer標頭值。默認情況下,沒有 HTTP Referer標頭在HTTP請求發送,如果沒有明確設定。

    請注意,Referer如果--level設置為3或更高,還將針對SQL注入測試HTTP 標頭。請閱讀下面的詳細信息。

    3.3.8.額外的HTTP標頭

    選項: --headers

    通過設置option可以提供額外的HTTP標頭--headers。每個標頭必須用換行符分隔,從配置INI文件中提供標頭要容易得多。您可以查看sqlmap.conf這種情況的樣本文件。

    針對MySQL目標的示例:

    $ python sqlmap.py -u "http://192.168.21.128/sqlmap/mysql/get_int.php?id=1" -z
    "ign,flu,bat,tec=E" --headers="Host:www.target.com\nUser-agent:Firefox 1.0" -v 5
    [...]
    [xx:xx:44] [TRAFFIC OUT] HTTP request [#5]:
    GET /sqlmap/mysql/get_int.php?id=1%20AND%20%28SELECT%209351%20FROM%28SELECT%20C
    OUNT%28%2A%29%2CCONCAT%280x3a6161733a%2C%28SELECT%20%28CASE%20WHEN%20%285473%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
    0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
    0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
    0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
    0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
    0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
    0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20
    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
    20%20%20%20%20%20%20%20%20%20%20%205473%29%20THEN%201%20ELSE%200%20END%29%29%2C
    0x3a6c666d3a%2CFLOOR%28RAND%280%29%2A2%29%29x%20FROM%20INFORMATION_SCHEMA.CHARA
    CTER_SETS%20GROUP%20BY%20x%29a%
    29 HTTP/1.1
    Host: www.target.com
    Accept-encoding: gzip,deflate
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    User-agent: Firefox 1.0
    Connection: close
    [...]
    

    3.3.9.HTTP協議認證

    選項:--auth-type--auth-cred

    這些選項可用于指定實現哪個HTTP協議身份驗證后端Web服務器以及將用于執行對目標應用程序的所有HTTP請求的有效憑據。

    支持的三種HTTP協議身份驗證機制是:

    • Basic
    • Digest
    • NTLM

    憑據的語法為username:password

    有效語法示例:

    $ python sqlmap.py -u "http://192.168.136.131/sqlmap/mysql/basic/get_int.php?id
    =1" --auth-type Basic --auth-cred "testuser:testpass"
    

    3.3.10.HTTP協議私鑰認證

    選項: --auth-file

    如果Web服務器需要適當的客戶端證書和用于身份驗證的私鑰,則應使用此選項。提供的值應該是key_file包含您的證書和私鑰的PEM格式。

    key_file.txt與兼容的生成示例--auth-file

    $ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout auth_file.key -out auth_file.pem &&
    cat auth_file.key auth_file.pem > auth_file.txt && cat auth_file.txt
    Generating a 2048 bit RSA private key
    .........+++
    ...........+++
    writing new private key to 'auth_file.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []:
    -----BEGIN PRIVATE KEY-----
    MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCWM28J1ua2DINf
    VLU28oeJwQidL9vTRoGJR5pfBU6Mhu33Cv6RuVEJAfMWEKYDSbqbrEyy1zUiNTcG
    mEd026Peq0SPRvsKsVb6K+EHVF3r+6ExXHEctPRbh2GIzi2kCQMkdHDg+DhmieQ9
    9Haxk9IREJZTo2vC1ohvM5M/yubw4iwgMlDaW+4s82OgOcCLjewbPLFZU5gMV+8W
    XLKUttUYwV79duPbEvG9S1soNFHhu/MOcNiKJpH2zSegd9Dk5/OJRGX5xEiv7AyL
    4shQLpAqn5kuZcm2K+ib/4x/Rw2yT1Slh2tQIi8RcwlYyycOrSqvhW7vvdqkblbY
    mQQyR2ChAgMBAAECggEBAIqvMveC1cOCCksbi7cQeNVYxvtcFT0e/LwkwQS7gat/
    anmQTT2APrJyemEFPkQK76KNlMQMsaLEP+p28IOVydjvin5Aq8tTs1uK6Fw8Kfya
    elt5X3eCHZ3lgskuljW/nIcsfI08o9cJuxT5hB6yvmPDTQos+nMMYy1KEcv1LQd8
    Y+QAmVQqMF5Nyf8Q6op6hWZIIJY5NDbRE0zYzhGcHWg2798Dx1sO0HT6TD8cNP8H
    AVp/V21tzpmFpe0A7NajgYEjkij6fg+6mG0j0WZdWymYXDeiTdDpwzs/SPRevBLn
    Okp/6vqtdekMeYL591MNBl8GRZpJW9gNLRX7vQ6YYAECgYEAxGV9e85GpLUd/uUb
    1MvGajd+HtN/uoWH1ySG34vi3q/dDKBehry2yoDUosxXf9vbH0IrvaXnO8yXGflS
    wb2TELLezGWbw6kPaw2XIgL4elO5TPh2rNJwz1wOhv3FT2XSGJbXx/CED3mL7MGs
    qwRU/bRrNV7RmzV2veThlLCLjZECgYEAw8jm7vOzQQnqEjs0wlfJmzOyFqilYvEP
    8v7HxDv1M7e7M0TqLECET9VlQE5spGuzEWN7/iMtE8xxnz2n/vGnGAV8qv1LJYrA
    TWQMTIC6V9/jKM8wNOfT7Eh1rJ1cty87yokXpy/cdmkv7yxb1b2zuBk8/1nlYqA0
    5uqb345eWhECgYEAmoXv0TVfR8BpNWA2IZujJXc7+C0YVj0xwAixRbneaq+cEI8t
    UH2ypGnw45Y7UhI9ub5qg/DAmsBCMuGER4NM7tqNiex4Pd4Kj4RF4TDNKBIvvWvQ
    k/GPaNdZZsTMNcg7IbWtWVbX0QUlHsbTgEsMRAFsSLWt3ZyXLJmlE0REyMECgYEA
    oCqEscrwRC7GLK/+01ZZ+fvqnxrMYgrvj0zbRDAAwpR2MtUX9ae6Fk1vDZKa0k/B
    KGKIlzlTsTS5ZxpbivdKSR6EBKY+ibHe6/EDFrrgtu7TuRj2SPG2rz//9Hyv0rRz
    Z5eLoBxJcR1QN4vEfTE6C0uqWQPD4lFJtfcMGXEwwuECgYAK+4gwPBlrKClrRtDc
    7Fnq8RLYeZRbM5WEmTHfRnlYylniMsj2K20H8ln8pdOqCE4iJn0SezIQIaAtcwMP
    WQt15kgJgLwM/uBtqDeWRpTEotVMFXQbZImobjpXUhTqu0NWBwbypM/zarfRWPJ4
    fJkrlA16caVj3qGaX1lkm06OAA==
    -----END PRIVATE KEY-----
    -----BEGIN CERTIFICATE-----
    MIIDXTCCAkWgAwIBAgIJALTHPlkIs/+KMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
    BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
    aWRnaXRzIFB0eSBMdGQwHhcNMTgwODIyMDc0NTQxWhcNMTkwODIyMDc0NTQxWjBF
    MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
    ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
    CgKCAQEAljNvCdbmtgyDX1S1NvKHicEInS/b00aBiUeaXwVOjIbt9wr+kblRCQHz
    FhCmA0m6m6xMstc1IjU3BphHdNuj3qtEj0b7CrFW+ivhB1Rd6/uhMVxxHLT0W4dh
    iM4tpAkDJHRw4Pg4ZonkPfR2sZPSERCWU6NrwtaIbzOTP8rm8OIsIDJQ2lvuLPNj
    oDnAi43sGzyxWVOYDFfvFlyylLbVGMFe/Xbj2xLxvUtbKDRR4bvzDnDYiiaR9s0n
    oHfQ5OfziURl+cRIr+wMi+LIUC6QKp+ZLmXJtivom/+Mf0cNsk9UpYdrUCIvEXMJ
    WMsnDq0qr4Vu773apG5W2JkEMkdgoQIDAQABo1AwTjAdBgNVHQ4EFgQUVvHI/2qF
    kmRCEWlWB+ZvJzWTnUkwHwYDVR0jBBgwFoAUVvHI/2qFkmRCEWlWB+ZvJzWTnUkw
    DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAg5tmkM75/NEEymu0ublj
    c2R1/ZxwbKMjg98KxLqGFJbPVRG0qgIy+uc+Gvh6FEgPF22i4L9DROfuDQW3YSJ6
    x3JnJxLsU+jjXxtN7hNwoQziQkicKr0y47TjqOKLlBlKTbdnr74nJXSYQhi4qEFE
    qgrUG7ScitgLvcf2sDVf9L2SUsH5iRK+HlgYEtSKhUl5SkLapcUUF+GmectUOkm7
    m7Z8gelenVUerLojnQL2avKD07hWTTGkgX2PV8hdun0WIvBLWAcJN+6T9sdakJZZ
    qJjFQBXjcxwgVe0vB0vJmqa5lj9OymQnBMjp+3zpUtDJNH2M1qySbU6tGEX1wsW/
    VA==
    -----END CERTIFICATE-----
    

    3.3.11.忽略(有問題的)HTTP錯誤代碼

    選項 --ignore-code

    如果您要測試的站點偶爾返回導致常規sqlmap運行出現問題的HTTP錯誤代碼(例如401(未經授權)),而您想忽略它并繼續進行測試,則可以使用option --ignore-code

    3.3.12.HTTP(S)代理

    選項和開關:--proxy--proxy-cred--proxy-file--ignore-proxy

    可以提供HTTP(S)代理地址,以通過HTTP(S)請求通過option將其傳遞到目標URL --proxy。HTTP(S)代理值的語法為http://url:port

    如果HTTP(S)代理需要身份驗證,則可以將格式的憑據提供username:password給option --proxy-cred

    如果您要使用(一次性)代理列表,在出現任何連接問題(例如,入侵IP地址--proxy-file被阻止)時跳至下一個代理,可以通過提供包含大量代理列表的文件的文件名來使用該選項。

    開關--ignore-proxy,當你想要忽略一套全系統HTTP(S)代理服務器設置進行針對局域網的目標部分的SqlMap應該被使用。

    3.3.13.Tor匿名網絡

    開關和選項:--tor--tor-port--tor-type--check-tor

    如果出于任何原因需要保持匿名,而不是通過單個預定義的HTTP(S)代理服務器傳遞,則可以按照Tor安裝指南中的說明在計算機上配置Tor客戶端Privoxy(或類似產品)。然后,您可以使用開關,并且sqlmap會嘗試自動設置Tor代理連接設置。--tor

    如果您想手動設置使用的Tor代理的類型和端口,則可以使用選項--tor-type--tor-port(例如--tor-type=SOCKS5 --tor-port 9050)來完成。

    強烈建議您--check-tor偶爾使用以確保一切設置正確。在某些情況下,Tor捆綁包(例如Vidalia)配置錯誤(或重置先前設置的配置)會給您一種匿名感。使用此開關,sqlmap將通過向官員發送單個請求來檢查一切是否正常,您是否正在使用Tor?在任何目標請求之前的頁面。萬一檢查失敗,sqlmap將警告您并突然退出。

    3.3.14.每個HTTP請求之間的延遲

    選項: --delay

    可以指定每個HTTP(S)請求之間保留的秒數。有效值為浮點型,例如0.5半秒。默認情況下,不設置延遲。

    3.3.15.超時連接之前等待的秒數

    選項: --timeout

    在考慮HTTP(S)請求超時之前,可以指定等待的秒數。有效值為浮點型,例如10.5表示十秒半。默認情況下,設置為30秒

    3.3.16.HTTP連接超時時的最大重試次數

    選項: --retries

    HTTP(S)連接超時時,可以指定最大重試次數。默認情況下,它最多重試3次

    3.3.17.隨機更改給定參數的值

    選項: --randomize

    可以指定要在每個請求期間隨機更改其值的參數名稱。長度和類型將根據提供的原始值保留。

    3.3.18.使用正則表達式從提供的代理日志中過濾目標

    選項: --scope

    -l您可以使用有效的Python正則表達式指定用于過濾所需主機的正則表達式,而不是使用從提供的日志中解析的所有主機(帶有option)。

    有效語法示例:

    $ python sqlmap.py -l burp.log --scope="(www)?\.target\.(com|net|org)"
    

    3.3.19.避免過多的請求失敗后會話被破壞

    選項:--safe-url--safe-post--safe-req--safe-freq

    如果執行一定數量的不成功請求,則介于兩者之間的Web應用程序或檢查技術有時會破壞會話。這可能在sqlmap的檢測階段或利用任何一種盲目SQL注入類型時發生。原因是SQL有效負載不一定返回輸出,因此可能向應用程序會話管理或檢查技術發出信號。

    要繞過目標設置的限制,可以提供任何(或組合)選項:

    • --safe-url:測試期間經常訪問的URL地址。
    • --safe-post:HTTP POST數據發送到給定的安全URL地址。
    • --safe-req:從文件加載并使用安全的HTTP請求。
    • --safe-freq:測試兩次訪問給定安全位置之間的請求。

    這樣,sqlmap將在每個預定義數量的請求中訪問某個安全 URL,而無需對其進行任何類型的注入。

    3.3.20.參數值的URL編碼

    開關: --skip-urlencode

    根據參數位置(例如GET),其值可以默認為URL編碼。在某些情況下,后端Web服務器不遵循RFC標準,并要求值以其原始非編碼形式發送。使用--skip-urlencode這些類型的案件。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类