AccessContextFuzzer - Burp Suite Eklentisi | Tağmaç - root@Tagoletta:~#

AccessContextFuzzer - Burp Suite Eklentisi

Exploit / Proje Detayları

Java Wed May 27 2026

Erişim kontrolü bypass, path traversal ve Web Cache Deception için yüzlerce varyantı saniyeler içinde otomatik üretip test eden Burp Suite eklentisi (Montoya API). 40+ header spoofing tekniği, otomatik MISS→HIT önbellek doğrulaması ve kimlik doğrulamasız Verify WCD içeren dört aşamalı WCD pipeline'ı, paralel fuzzing, CDN profilleri, hassas veri tespiti ve özel kurallar ile resmi PortSwigger laboratuvarlarında kanıtlanmış güvenlik test aracı.

Detailed Write-up

AccessContextFuzzer — Proje Detayları

AccessContextFuzzer, Burp Suite'in Montoya API'si üzerine inşa edilmiş, erişim kontrolü testlerini manuel ve yorucu yapılandırmalardan kurtaran bir güvenlik otomasyon aracıdır. Onlarca header ve path varyasyonunu elle hazırlamak yerine, eklenti yüzlerce bypass varyantını saniyeler içinde otomatik olarak üretip test eder ve baseline'dan farklı davrananları anında vurgular. Header manipülasyonundan Web Cache Deception saldırılarına kadar geniş bir test yelpazesini tek, birleşik bir arayüz altında sunar.

v2.4.0 — Öne Çıkanlar

  • Otomatik MISS→HIT doğrulaması — Önbelleğe alınabilir bir 200 X-Cache: MISS yanıtı görüldüğünde tarayıcı aynı isteği cache penceresi içinde birkaç kez yeniden gönderir. X-Cache HIT'e dönerse satır 🎯 WCD CONFIRMED (MISS→HIT) olarak işaretlenir — önbellek ısıtma adımı artık manuel Repeater turu gerektirmez.
  • Yeniden yazılmış Verify WCD (sağ tık) — Önce mevcut kimlik bilgilerinizle önbelleği ısıtır (HIT olana kadar), sonra çerez/kimlik doğrulama olmadan yeniden oynatıp gövdeleri karşılaştırır. Kimlik doğrulamasız bir HIT, yetkili yanıtla eşleşen bir gövde döndürüyorsa ✅ CONFIRMED WCD olarak onaylanır.
  • Yeni 🎯 WCD Findings sekmesi — Tüm WCD sonuçlarını (otomatik onaylar + manuel doğrulamalar) URL, auth/no-auth durumu, X-Cache, karar ve zaman damgasıyla toplar. Kanıt istek/yanıtını açmak için satıra çift tıklayın.
  • Türkçe-locale önbellek tespiti düzeltmesi — Türkçe JVM'de "hit".toUpperCase()"HİT" olduğundan tüm X-Cache/Cache-Control karşılaştırmaları artık Locale.ROOT kullanır. (Önceden önbelleğe alınabilir yanıtlar hatalı biçimde MISS raporlanıyordu.)

Kurulum

Gereksinimler: Burp Suite (Professional veya Community) 2023.1+ ve Java 17+

GitHub Releases sayfasından en son access-context-fuzzer-*-jar-with-dependencies.jar dosyasını indirin, ardından Burp Suite'te Extensions → Add menüsünden, tür olarak Java seçip dosyayı yükleyin. Araç çubuğunda Access Context sekmesi belirir.

Bağlam Menüsü Entegrasyonu

Proxy → HTTP History üzerindeki herhangi bir isteğe sağ tıklayarak Access Context: Header Fuzz, Path Fuzz veya Fuzz Selection seçeneğiyle testi anında başlatabilirsiniz. İstek otomatik olarak ilgili motor sekmesine yüklenir.

Üç Fuzzing Motoru

1. Header Bypass

X-Forwarded-For, X-Real-IP, X-Client-IP, True-Client-IP, CF-Connecting-IP dahil 40'tan fazla başlık varyantıyla IP spoofing ve host manipülasyonunu test eder. Ayrıca host override (X-Forwarded-Host, X-Host, X-Original-Host), WebDAV/method swap, Content-Type override ve HTTP/2 pseudo-header (:authority, :path) enjeksiyonu içerir. Özel IP ve Header: Value çiftleri wordlist'ten yüklenebilir. Güvenilir IP veya iç ağ kontrolü uygulayan sistemlere yöneliktir.

2. Path/GET Bypass

URL kodlaması, çift kodlama, IIS Unicode normalizasyonu, büyük/küçük harf manipülasyonu, nokta-segment enjeksiyonu (/..;/admin), çift eğik çizgi (//admin), overlong UTF-8 ve WCD'ye özgü yol tekniklerini test eder. X-Rewrite-URL, X-Original-URL ve Nginx/OpenResty X-Accel-Redirect rewrite hilelerini içerir. Ek olarak, hedefin CDN'ini (Cloudflare, Akamai, Fastly, CloudFront, Nginx, Varnish) seçerek delimiter payload'larını filtreleyebilir ve gövde taşıyan Fat GET ile yalnızca-path testinin kaçırdığı WCD vektörlerini yakalayabilirsiniz.

3. Selection Fuzz

İstek içindeki belirli bir metin seçimine odaklanarak URL encode, çift URL encode, IIS Unicode, fullwidth eğik çizgi ve özel payload dönüşümleri uygular. Dosyadan özel wordlist yükleme desteğiyle tamamen özelleştirilmiş fuzzing kampanyaları oluşturulabilir.

Web Cache Deception Pipeline

Web Cache Deception (WCD), kimlik doğrulama gerektiren sayfaların cache'e alınmasına neden olarak hassas verilerin yetkisiz kullanıcılara sunulduğu kritik bir güvenlik açığı sınıfıdır. AccessContextFuzzer bu saldırı zincirini dört aşamada otomatikleştirir:

  • Sınırlayıcı Keşfi — Origin sunucunun hangi yol sınırlayıcılarını (?, #, %23, %3f vb.) tanıdığını belirler.
  • Uzantı Testi — Keşfedilen sınırlayıcılarla birlikte .js, .css, .png gibi statik uzantılar (toplam 19 tip) denenerek X-Cache davranışı tetiklenir. /path/abc.js yol-eşleme vektörü de dahildir.
  • Normalizasyon Tutarsızlığı — Origin sunucu ile cache katmanı arasındaki kodlanmış nokta-segment (..%2f, %252f, %c0%af, %00.css) normalizasyon farklılıklarını tespit eder.
  • İstismar Üretimi — Tüm bulgular birleştirilerek çalışan bir WCD payload'ı sentezlenir (/my-account%23%2f%2e%2e%2fresources200 + X-Cache:hit).

📚 WCD teorisi: Her aşamanın arkasındaki mantığı anlamak için Web Cache Deception & Poisoning yazısını okuyabilirsiniz.

Akıllı Sonuç Analizi

Sonuçlar renk kodlu, sıralanabilir bir tabloda sunulur; ayrı bir Cache sütunu HIT ✅, MISS, PRIVATE 🚫, NO-STORE 🚫, HIT/Vary:Cookie durumlarını gösterir. Otomatik anomali tespiti Notes sütununda işaretlenir:

  • 🎯 POTENTIAL BYPASS — 40x baseline'dan 2xx'e geçiş (güçlü bypass sinyali)
  • 🔀 REDIRECT BYPASS? — 401/403 baseline'ın 30x redirect'e dönmesi
  • ⚠️ BODY_BYPASS? — Aynı 2xx durumu, farklı gövde
  • BODY_DIFF — MD5 hash karşılaştırmasıyla tespit edilen içerik farkı
  • SENSITIVE_DATA:JWT — Yanıt gövdesinde JWT/CSRF/Bearer/API key/e-posta tespiti (pembe satır olarak vurgulanır)
  • CUSTOM:LABEL — Settings sekmesinde tanımlanan regex=LABEL özel kuralı eşleşmesi

Ek güvenilirlik özellikleri: her 50 istekte otomatik baseline yenilemesi (oturum kayması tespiti), RTT ortalamasıyla gerçek zamanlı süre tahmini, ve 429/503 yanıtlarında uyarlamalı rate-limit koruması. 🔍 Show Only Interesting filtresiyle baseline gürültüsü gizlenir.

Paralel Fuzzing & Verimlilik

⚙ Settings & History sekmesinden Parallel Mode açılarak istekler eşzamanlı gönderilir (yapılandırılabilir 2–20 iş parçacığı). Ayrıca 1-tık tarama profilleri (⚡ Quick Scan, 🔥 Full Scan, 🎯 WCD Only), taramadan önce tüm varyantları listeleyen 👁 Preview Payloads, baseline'a karşı yan yana Response Diff Viewer ve her taramayı kaydeden Scan History bulunur.

İstek/Yanıt Görüntüleyici

Herhangi bir satıra çift tıklandığında Burp'ün yerel HTTP editörleri (Montoya HttpRequestEditor/HttpResponseEditor) modal olmayan bir bölünmüş panelde açılır. Raw, Pretty, Hex ve Render sekmeleriyle tam istek/yanıt analizi yapılabilir — Render sekmesi, ham HTML okumadan API key veya token'ları anında görmenizi sağlar.

OPSEC Doğrulama

Test başlamadan önce genel IP adresinizi doğrulayan yerleşik OPSEC modülü, IP doğrulanmadıysa fuzzing'i bloklar ve gerçek IP'nizin hedefe sızmasını önler. Tüm motorların paylaştığı, yeniden başlatmalar arasında kalıcı tek bir Delay (ms) ayarı Settings sekmesinde toplanmıştır.

Dışa Aktarma & Entegrasyon

Çoklu seçimle (Ctrl/Shift+Click) Send All Selected veya Send All Interesting ile satırları Repeater'a gönderin, sonuçları Export CSV ile kaydedin. Tüm fuzzing istekleri Burp'ün Site Map'ine doğal olarak eklenir.

Kaynaktan Derleme

git clone https://github.com/Tagoletta/AccessContextFuzzer.git
cd AccessContextFuzzer
mvn compile
mvn package
# Çıktı: target/access-context-fuzzer-2.4.0-jar-with-dependencies.jar

Gereksinimler: JDK 17+ ve Maven 3.6+. Kaynak, burp.core, burp.util, burp.payload ve burp.ui paketlerine ayrılmış modüler bir yapıya sahiptir.

Lab Kanıtlı Etkinlik

AccessContextFuzzer, resmi PortSwigger Web Security Academy laboratuvarlarını başarıyla çözmektedir:

  • URL-based access control can be circumventedX-Original-URL ile kök seviye URL rewrite
  • Host header authentication bypassX-Forwarded-Host ile host manipülasyonu
  • Authentication bypass via information disclosureX-Custom-IP-Authorization: 127.0.0.1 özel başlığı
  • Exploiting cache server normalization for WCD — sınırlayıcı + kodlanmış nokta-segment + cache prefix (Cache Deception Combos)

GitHub