iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Security

駭客新手指南:從程式小白轉職成初級駭客系列 第 3

Day3 每天用但是不知道的TCP、UDP、HTTP & HTTPS

  • 分享至 

  • xImage
  •  

上一篇文講了一些網路上的基本概念及名詞,大家應該對網路有了一些基本的了解,今天就來說一些常見的協定

TCP、UDP(Transmission Control Protocol、User Datagram Protocol)

TCP、UDP都是傳輸層的協定,TCP較注重可靠性和數據完整性,會在傳輸過程中進行錯誤檢測和數據重傳。UDP更注重於低延遲和高效傳輸,所以不會保證數據的可靠性和順序。

TCP的特性

1.確保數據完整且按正確順序傳輸。它通過數據確認機制來檢查每個封包是否到達,如果發現丟失或損壞,會重傳數據。
2.使用「三次握手」來建立連接,保證雙方準備好後才開始數據傳輸。
3.可控制數據傳輸速度,根據網絡情況進行調整,防止數據擁塞。
4.適用於需要高可靠性和完整性的應用,例如:網頁瀏覽(HTTP/HTTPS)電子郵件傳輸(SMTP)

UDP的特性

1.UDP 不會建立連接,也不會進行數據確認,數據一旦發出,就不會追蹤是否到達。這使得它的傳輸過程更快。
2.UDP 不會重傳丟失的數據,也不會保證數據的順序。如果封包在傳輸過程中丟失,接收端不會收到完整的數據。
3.因為沒有額外的控制和確認機制,UDP 的數據傳輸延遲非常低,適合即時性需求高的應用。
4.適用於即時傳輸和流媒體等不需要高可靠性的應用,例如:視訊、語音通話、遊戲...

詳細比較

特性 TCP(傳輸控制協定) UDP(使用者數據包協定)
是否面向連接 面向連接,需要建立連接 無連接,直接傳輸數據
傳輸可靠性 高,數據完整且按順序 低,不保證數據順序或完整
數據重傳 支援,丟包後會重傳數據 不支援,丟包後不重傳
數據確認 有確認應答,確保數據送達 無確認應答,無法確認是否送達
傳輸速度 相對較慢,由於有確認和重傳 快速,無須確認和重傳
擁塞控制與流量控制 支援,會調整數據傳輸速度 無擁塞和流量控制
應用場景 需要高可靠性的應用,如網頁、郵件 需要實時性或低延遲的應用,如語音、遊戲

駭客怎麼用?

TCP:利用「三次握手」進行「SYN Flood」等攻擊,造成伺服器資源耗盡。
UDP:利用「UDP Flood」等拒絕服務攻擊(DoS),淹沒目標伺服器的網絡。

HTTP(Hypertext Transfer Protocol)

HTTP是應用層的協定,用於在客戶端和伺服器之間傳輸超文本數據,如HTML頁面、圖片、影片等。

請求與回應模型

HTTP的運作模型,原理是客戶端向伺服器發送一個Request,伺服器處理請求並返回一個Response。

  • request:發送包含方法、URL、headers...的請求
  • response:伺服器根據請求返回數據,其中包括狀態碼、headers、數據...

無狀態性

HTTP是無狀態協議,這意味著伺服器不會記住先前的請求狀態。每次請求和回應都是獨立的,不會保存之前的交互數據。這可以提升效率,但如果需要保持連續的會話(例如登錄狀態),需要借助Cookie、Session、Token等技術。

狀態碼

  • 2xx(成功類):表示請求成功處理,例如200 OK。
  • 3xx(重定向類):表示請求被重定向,例如301 Moved Permanently。
  • 4xx(客戶端錯誤類):表示客戶端請求有錯,例如404 Not Found。
  • 5xx(伺服器錯誤類):表示伺服器出錯,例如500 Internal Server Error。

駭客怎麼用?

1.攔截未加密的HTTP通信,竊取密碼、Cookie等敏感資訊。
2.注入惡意腳本,利用HTTP通信將惡意程式注入到受害者的瀏覽器中。(XSS)
3.利用用戶已經登錄的狀態,通過惡意請求偽造用戶行為,操作用戶帳號或竊取數據。(CSRF)

HTTPS(Hypertext Transfer Protocol Secure)

HTTPS 即為 HTTP 的加密版本,使用 SSL/TLS 協議來加密網絡通信,保護數據在傳輸過程中的私密性和完整性。

工作原理

客戶端請求一個 HTTPS 網站時,伺服器會傳送一個 SSL/TLS 證書,該證書包含伺服器的公鑰。客戶端使用這個公鑰加密數據,並將其傳送給伺服器。伺服器使用自己的私鑰解密這些數據。

優勢

1.能有效防止MITM,因為攻擊者無法竊取或篡改加密的通信內容。
2.使用 HTTPS 的網站通常會被搜索引擎優先排列,並且使用者會更信任使用 HTTPS 的網站。

駭客怎麼用?

1.嘗試利用 HTTPS 設置中的漏洞(如過期證書或錯誤配置的SSL/TLS),或者進行惡意重定向到使用假證書的網站。
2.滲透測試中,可以嘗試通過社交工程或其他手段來繞過 HTTPS 保護,或者嘗試解密通信


上一篇
Day2 IP與他的夥伴
下一篇
Day4 HTTP request & API 程式間溝通的開端
系列文
駭客新手指南:從程式小白轉職成初級駭客30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言