WEB安全滲透測試基礎知識(二)

1.3. 域名系統

1.3.1. 域名系統工作原理

WEB安全滲透測試基礎知識(二)

DNS解析過程是遞歸查詢的,具體過程如下:

  • 用戶要訪問域名www.example.com時,先查看本機hosts是否有記錄或者本機是否有DNS緩存,如果有,直接返回結果,否則向遞歸服務器查詢該域名的IP地址
  • 遞歸緩存為空時,首先向根服務器查詢com頂級域的IP地址
  • 根服務器告知遞歸服務器com頂級域名服務器的IP地址
  • 遞歸向com頂級域名服務器查詢負責example.com的權威服務器的IP
  • com頂級域名服務器返回相應的IP地址
  • 遞歸向example.com的權威服務器查詢www.example.com的地址記錄
  • 權威服務器告知www.example.com的地址記錄
  • 遞歸服務器將查詢結果返回客戶端

1.3.2. 根服務器

根服務器是DNS的核心,負責互聯網頂級域名的解析,用於維護域的權威信息,並將DNS查詢引導到相應的域名服務器。

根服務器在域名樹中代表最頂級的 . 域, 一般省略。

13臺IPv4根服務器的域名標號為a到m,即a.root-servers.org到m.root-servers.org,所有服務器存儲的數據相同,僅包含ICANN批准的TLD域名權威信息。

1.3.3. 權威服務器

權威服務器上存儲域名Zone文件,維護域內域名的權威信息,遞歸服務器可以從權威服務器獲得DNS查詢的資源記錄。

權威服務器需要在所承載的域名所屬的TLD管理局註冊,同一個權威服務器可以承載不同TLD域名,同一個域也可以有多個權威服務器。

1.3.4. 遞歸服務器

遞歸服務器負責接收用戶的查詢請求,進行遞歸查詢並響應用戶查詢請求。在初始時遞歸服務器僅有記錄了根域名的Hint文件。

1.3.5. DGA

DGA(Domain Generate Algorithm,域名生成算法)是一種利用隨機字符來生成C&C域名,從而逃避域名黑名單檢測的技術手段,常見於botnet中。

1.3.6. DNS隧道

DNS隧道工具將進入隧道的其他協議流量封裝到DNS協議內,在隧道上傳輸。這些數據包出隧道時進行解封裝,還原數據。

1.4. HTTP標準

1.4. HTTP標準

1.4.1. 報文格式

1.4.1.1. 請求報文格式

1.4.1.2. 響應報文格式

1.4.1.3.字段解釋

  • methodHTTP動詞常見方法:HEAD / GET / POST / PUT / DELETE / PATCH / OPTIONS / TRACE擴展方法:LOCK / MKCOL / COPY / MOVE
  • version報文使用的HTTP版本格式為HTTP/.
  • url://:@:/

1.4.2. 請求頭列表

  • Accept指定客戶端能夠接收的內容類型Accept: text/plain, text/html
  • Accept-Charset瀏覽器可以接受的字符編碼集Accept-Charset: iso-8859-5
  • Accept-Encoding指定瀏覽器可以支持的web服務器返回內容壓縮編碼類型Accept-Encoding: compress, gzip
  • Accept-Language瀏覽器可接受的語言Accept-Language: en,zh
  • Accept-Ranges可以請求網頁實體的一個或者多個子範圍字段Accept-Ranges: bytes
  • AuthorizationHTTP授權的授權證書Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
  • Cache-Control 指定請求和響應遵循的緩存機制 Cache-Control: no-cache
  • Connection表示是否需要持久連接 // HTTP 1.1默認進行持久連接Connection: close
  • CookieHTTP請求發送時,會把保存在該請求域名下的所有cookie值一起發送給web服務器Cookie: role=admin;ssid=1
  • Content-Length請求的內容長度Content-Length: 348
  • Content-Type請求的與實體對應的MIME信息Content-Type: application/x-www-form-urlencoded
  • Date請求發送的日期和時間Date: Tue, 15 Nov 2010 08:12:31 GMT
  • Expect請求的特定的服務器行為Expect: 100-continue
  • From發出請求的用戶的EmailFrom: [email protected]
  • Host指定請求的服務器的域名和端口號Host: www.github.com
  • If-Match只有請求內容與實體相匹配才有效If-Match: “737060cd8c284d8af7ad3082f209582d”
  • If-Modified-Since如果請求的部分在指定時間之後被修改則請求成功,未被修改則返回304代碼If-Modified-Since: Sat, 29 Oct 2018 19:43:31 GMT
  • If-None-Match如果內容未改變返回304代碼,參數為服務器先前發送的Etag,與服務器回應的Etag比較判斷是否改變If-None-Match: “737060cd8c284d8af7ad3082f209582d”
  • If-Range如果實體未改變,服務器發送客戶端丟失的部分,否則發送整個實體。參數也為EtagIf-Range: “737060cd8c284d8af7ad3082f209582d”
  • If-Unmodified-Since只在實體在指定時間之後未被修改才請求成功If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
  • Max-Forwards限制信息通過代理和網關傳送的時間Max-Forwards: 10
  • Pragma用來包含實現特定的指令Pragma: no-cache
  • Proxy-Authorization連接到代理的授權證書Proxy-Authorization:BasicQWxhZGRpbjpvcGVuIHNlc2FtZQ===
  • Range只請求實體的一部分,指定範圍Range: bytes=500-999
  • Referer先前網頁的地址,當前請求網頁緊隨其後,即來路Referer: http://www.agesec.com/5210.html
  • TE客戶端願意接受的傳輸編碼,並通知服務器接受接受尾加頭信息 TE: trailers,deflate;q=0.5
  • Upgrade向服務器指定某種傳輸協議以便服務器進行轉換(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
  • User-AgentUser-Agent的內容包含發出請求的用戶信息User-Agent: Mozilla/5.0 (Linux; X11)
  • Via通知中間網關或代理服務器地址,通信協議Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
  • Warning關於消息實體的警告信息Warn: 199 Miscellaneous warning

1.4.3. 響應頭列表

  • Accept-Ranges
    表明服務器是否支持指定範圍請求及哪種類型的分段請求 Accept-Ranges: bytes
  • Age從原始服務器到代理緩存形成的估算時間(以秒計,非負) Age: 12
  • Allow對某網絡資源的有效的請求行為,不允許則返回405Allow: GET, HEAD
  • Cache-Control告訴所有的緩存機制是否可以緩存及哪種類型Cache-Control: no-cache
  • Content-Encodingweb服務器支持的返回內容壓縮編碼類型。Content-Encoding: gzip
  • Content-Language響應體的語言Content-Language: en,zh
  • Content-Length響應體的長度Content-Length: 348
  • Content-Location請求資源可替代的備用的另一地址Content-Location: /index.htm
  • Content-MD5返回資源的MD5校驗值Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
  • Content-Range
    在整個返回體中本部分的字節位置Content-Range: bytes 21010-47021/47022
  • Content-Type返回內容的MIME類型Content-Type: text/html; charset=utf-8
  • Date原始服務器消息發出的時間Date: Tue, 15 Nov 2010 08:12:31 GMT
  • ETag請求變量的實體標籤的當前值ETag: “737060cd8c284d8af7ad3082f209582d”
  • Expires響應過期的日期和時間Expires: Thu, 01 Dec 2010 16:00:00 GMT
  • Last-Modified請求資源的最後修改時間Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
  • Location用來重定向接收方到非請求URL的位置來完成請求或標識新的資源Location: http://www.agesec.com/5210.html
  • Pragma包括實現特定的指令,它可應用到響應鏈上的任何接收方Pragma: no-cache
  • Proxy-Authenticate它指出認證方案和可應用到代理的該URL上的參數Proxy-Authenticate: Basic
  • Refresh
    應用於重定向或一個新的資源被創造,在5秒之後重定向(由網景提出,被大部分瀏覽器支持)Refresh: 5; url=http://www.agesec.com/5210.html
  • Retry-After如果實體暫時不可取,通知客戶端在指定時間之後再次嘗試Retry-After: 120
  • Server web服務器軟件名稱Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
  • Set-Cookie設置Http Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
  • Trailer指出頭域在分塊傳輸編碼的尾部存在 Trailer: Max-Forwards
  • Transfer-Encoding文件傳輸編碼Transfer-Encoding:chunked
  • Vary告訴下游代理是使用緩存響應還是從原始服務器請求Vary: *
  • Via告知代理客戶端響應是通過哪裡發送的Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
  • Warning警告實體可能存在的問題Warning: 199 Miscellaneous warning
  • WWW-Authenticate
    表明客戶端請求實體應該使用的授權方案WWW-Authenticate: Basic

1.4.4. HTTP狀態返回代碼 1xx(臨時響應)

表示臨時響應並需要請求者繼續執行操作的狀態代碼。

WEB安全滲透測試基礎知識(二)

1.4.5. HTTP狀態返回代碼 2xx (成功

表示成功處理了請求的狀態代碼。

WEB安全滲透測試基礎知識(二)

1.4.6. HTTP狀態返回代碼 3xx (重定向)

表示要完成請求,需要進一步操作。通常,這些狀態代碼用來重定向。

WEB安全滲透測試基礎知識(二)

1.4.7. HTTP狀態返回代碼 4xx(請求錯誤)

這些狀態代碼表示請求可能出錯,妨礙了服務器的處理。

WEB安全滲透測試基礎知識(二)

1.4.8. HTTP狀態返回代碼 5xx(服務器錯誤)

這些狀態代碼表示服務器在嘗試處理請求時發生內部錯誤。這些錯誤可能是服務器本身的錯誤,而不是請求出錯。

WEB安全滲透測試基礎知識(二)

本文轉載自 安全時代

WEB安全滲透測試基礎知識(二)


分享到:


相關文章: