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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE2026-42926 — CVE-2026-42926 पैच सत्यापन और रक्षात्मक अनुसंधान के लिए नियंत्रित NGINX HTTP/2 फ्रेम इंजेक्शन लैब | Kitploit
उपकरण/GitHubGitHub/ikarolaborda/cve2026-42926
रक्षात्मक उपकरणभेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगवेब सुरक्षालर्निंग और शिक्षालैब और अभ्यास
GitHubikarolaborda/cve2026-42926

CVE2026-42926

CVE-2026-42926 पैच सत्यापन और रक्षात्मक अनुसंधान के लिए नियंत्रित NGINX HTTP/2 फ्रेम इंजेक्शन लैब

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

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

सभी देखें →

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

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

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

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

CVE-2026-42926 NGINX HTTP/2 फ्रेम इंजेक्शन लैब

एक नियंत्रित साइबर सुरक्षा लैब जो CVE-2026-42926 से संबंधित व्यवहार को मान्य और तुलना करने के लिए है, जो कि एक HTTP/2 फ्रेम इंजेक्शन समस्या है जो विशिष्ट NGINX संस्करणों को प्रभावित करती है जब एक कमजोर प्रॉक्सी कॉन्फ़िगरेशन का उपयोग किया जाता है।

यह रिपॉजिटरी केवल रक्षात्मक अनुसंधान, पैच सत्यापन, कॉन्फ़िगरेशन ऑडिटिंग और नियंत्रित लैब पुनरुत्पादन के लिए अभिप्रेत है।

वर्गीकरण: HTTP/2 फ्रेम इंजेक्शन प्रभावित संस्करण: NGINX 1.29.4 से 1.30.0 स्थिर संस्करण: NGINX 1.30.1+ / 1.31.0+

सुरक्षा सूचना

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

इसे तीसरे पक्ष के सिस्टम, सार्वजनिक बुनियादी ढांचे, साझा वातावरण या उत्पादन सेवाओं के विरुद्ध लिखित प्राधिकरण के बिना न चलाएं।

अनुशंसित अलगाव:

  • स्थानीय VM
  • डिस्पोजेबल कंटेनर
  • निजी परीक्षण होस्ट
  • गैर-रूटेबल लैब नेटवर्क

यह लैब क्या करता है

लैब जांचता है कि क्या लक्ष्य NGINX बाइनरी और कॉन्फ़िगरेशन समस्या को पुन: उत्पन्न करने के लिए आवश्यक शर्तों से मेल खाते हैं, परीक्षण स्थान पर एक क्राफ्टेड अनुरोध भेजता है, और एक नियंत्रित अपस्ट्रीम लॉगर की जांच करता है कि क्या इंजेक्ट किए गए HTTP/2 फ्रेम-जैसे बाइट्स अपस्ट्रीम तक पहुंचे हैं।

सामान्य सत्यापन पैटर्न है:

  1. एक कमजोर NGINX बिल्ड के साथ वही कमजोर प्रॉक्सी कॉन्फ़िगरेशन चलाएं।
  2. एक पैच किए गए NGINX बिल्ड के साथ वही कमजोर प्रॉक्सी कॉन्फ़िगरेशन चलाएं।
  3. अपस्ट्रीम साक्ष्य और स्क्रिप्ट निर्णयों की तुलना करें।

अपेक्षित परिणाम:

  • कमजोर बिल्ड: इंजेक्शन साक्ष्य देखा जा सकता है।
  • पैच किया गया बिल्ड: कोई इंजेक्शन साक्ष्य नहीं देखा जाना चाहिए।

रिपॉजिटरी सामग्री

आवश्यकताएँ

  • Linux या macOS शेल वातावरण
  • bash
  • python3
  • php
  • PHP cURL एक्सटेंशन
  • NGINX परीक्षण बाइनरीज़ उन संस्करणों के लिए जिनकी आप तुलना करना चाहते हैं
  • कॉन्फ़िगर किए गए NGINX सुनने वाले पोर्ट को बाइंड करने की अनुमति

कंटेनरीकृत वर्कफ़्लो के लिए:

  • Docker
  • Docker Compose v2

नमूना कॉन्फ़िगरेशन पोर्ट 80 पर सुनता है, जिसके लिए आमतौर पर रूट विशेषाधिकारों की आवश्यकता होती है। एक अनप्रिविलेज्ड स्थानीय लैब के लिए, nginx_vulnerable.conf में listen 80; को उपलब्ध उच्च पोर्ट जैसे 8080 में बदलें, फिर PHP कमांड में मिलान करने वाले लक्ष्य URL का उपयोग करें।

सेटअप

शेल स्क्रिप्ट को निष्पादन योग्य बनाएं:

root@kitploit:~
chmod +x nginx_config_verify.sh run_lab_comparison.sh

पुष्टि करें कि PHP में cURL सपोर्ट है:

root@kitploit:~
php -m | grep -i curl

पुष्टि करें कि प्रत्येक NGINX बाइनरी अपना संस्करण प्रिंट कर सकता है:

root@kitploit:~
/path/to/nginx -V

लैब कॉन्फ़िगरेशन

प्रदान किया गया nginx_vulnerable.conf में आवश्यक परीक्षण पैटर्न शामिल है:

root@kitploit:~
location /exploit {
    proxy_pass http://127.0.0.1:8081;
    proxy_http_version 2;
    proxy_set_body $request_body;
    proxy_set_header Host $host;
    proxy_set_header Content-Length $content_length;
}

महत्वपूर्ण विवरण:

  • proxy_http_version 2 अपस्ट्रीम लॉगर के लिए HTTP/2 प्रॉक्सीिंग सक्षम करता है।
  • proxy_set_body $request_body क्लाइंट-नियंत्रित अनुरोध बॉडी का उपयोग करता है।
  • client_max_body_size 20m सत्यापन स्क्रिप्ट द्वारा उपयोग किए गए क्राफ्टेड 16 MiB अनुरोध बॉडी की अनुमति देता है।
  • अपस्ट्रीम लॉगर डिफ़ॉल्ट रूप से 127.0.0.1:8081 पर सुनता है।

docker/nginx_vulnerable.docker.conf में Docker-विशिष्ट कॉन्फ़िगरेशन उसी कमजोर प्रॉक्सी पैटर्न को बनाए रखता है लेकिन कंटेनर पोर्ट 8080 पर सुनता है और Compose सेवा नाम upstream:8081 पर प्रॉक्सी करता है।

Docker त्वरित प्रारंभ: NGINX 1.29.4 लैब

Dockerfile NGINX 1.29.4 को स्रोत से बनाता है और लैब के लिए आवश्यक PHP/Python टूलिंग स्थापित करता है। Compose तब एक ही इमेज से तीन सेवाएं चलाता है:

  • upstream: रॉ HTTP/2 फ्रेम लॉगर
  • nginx: कमजोर NGINX 1.29.4 जो docker/nginx_vulnerable.docker.conf का उपयोग करता है
  • runner: एक-शॉट PHP सत्यापन कमांड

लैब इमेज बनाएं:

root@kitploit:~
docker compose build

अपस्ट्रीम लॉगर और कमजोर NGINX शुरू करें:

root@kitploit:~
docker compose up -d upstream nginx

बंडल किए गए NGINX संस्करण की पुष्टि करें:

root@kitploit:~
docker compose exec nginx nginx -V

Compose नेटवर्क के अंदर सत्यापन स्क्रिप्ट चलाएं:

root@kitploit:~
docker compose --profile run run --rm runner

रनर इन-कंटेनर तर्कों का उपयोग करता है:

root@kitploit:~
php /lab/cve_2026_42926_lab.php \
  http://nginx:8080/exploit \
  /lab/upstream_logs \
  /lab/nginx_config_verify.sh \
  /usr/local/nginx/sbin/nginx \
  /lab/docker/nginx_vulnerable.docker.conf \
  /exploit

जनरेटेड अपस्ट्रीम लॉग होस्ट निर्देशिका में लिखे जाते हैं:

root@kitploit:~
./upstream_logs/

NGINX सेवा होस्ट पर भी उपलब्ध है:

root@kitploit:~
http://localhost:8080/version

लैब कंटेनरों को रोकें और हटाएं:

root@kitploit:~
docker compose down

त्वरित प्रारंभ: एकल सत्यापन रन

नियंत्रित अपस्ट्रीम लॉगर शुरू करें:

root@kitploit:~
python3 upstream_frame_logger.py 8081 ./upstream_logs

दूसरे टर्मिनल में, नमूना कॉन्फ़िगरेशन के साथ NGINX शुरू करें:

root@kitploit:~
/path/to/nginx -c "$PWD/nginx_vulnerable.conf"

सत्यापन स्क्रिप्ट चलाएं:

root@kitploit:~
php cve_2026_42926_lab.php \
  http://localhost/exploit \
  ./upstream_logs \
  ./nginx_config_verify.sh \
  /path/to/nginx \
  "$PWD/nginx_vulnerable.conf" \
  /exploit

रन के बाद NGINX रोकें:

root@kitploit:~
/path/to/nginx -s stop

यदि आपने NGINX को किसी अन्य पोर्ट पर सुनने के लिए बदला है, तो पहले तर्क को अपडेट करें। उदाहरण के लिए:

root@kitploit:~
php cve_2026_42926_lab.php http://localhost:8080/exploit ./upstream_logs ./nginx_config_verify.sh /path/to/nginx "$PWD/nginx_vulnerable.conf" /exploit

त्वरित प्रारंभ: कमजोर बनाम पैच तुलना

दो NGINX बाइनरीज़ के पथ सेट करें और तुलना हार्नेस चलाएं:

root@kitploit:~
VULNERABLE_NGINX=/usr/local/nginx_1.29.4/sbin/nginx \
PATCHED_NGINX=/usr/local/nginx_1.30.1/sbin/nginx \
bash run_lab_comparison.sh

वैकल्पिक कॉन्फ़िगरेशन ओवरराइड:

root@kitploit:~
VULNERABLE_NGINX=/path/to/vulnerable/nginx \
PATCHED_NGINX=/path/to/patched/nginx \
VULNERABLE_CONFIG="$PWD/nginx_vulnerable.conf" \
PATCHED_CONFIG="$PWD/nginx_vulnerable.conf" \
bash run_lab_comparison.sh

तुलना स्क्रिप्ट लिखती है:

  • vulnerable_result.txt
  • patched_result.txt
  • upstream_logs_vulnerable/
  • upstream_logs_patched/

मैन्युअल कॉन्फ़िगरेशन जांच

nginx_config_verify.sh का सीधे उपयोग करें जब आप केवल यह जांचना चाहते हैं कि कॉन्फ़िगरेशन में कमजोर पैटर्न है या नहीं:

root@kitploit:~
./nginx_config_verify.sh /path/to/nginx "$PWD/nginx_vulnerable.conf" /exploit

सहायक जाँच करता है:

  • proxy_http_version 2
  • एक वेरिएबल के साथ proxy_set_body
  • कम से कम 16 MiB का client_max_body_size

स्क्रिप्ट तर्क

cve_2026_42926_lab.php स्थितीय तर्क स्वीकार करता है:

root@kitploit:~
php cve_2026_42926_lab.php <target_url> <upstream_log_dir> <config_script> <nginx_binary> <nginx_config> <location> [version_url]

डिफ़ॉल्ट:

निर्णय और निकास कोड

cve_2026_42926_lab.php तीन निर्णयों में से एक लौटाता है:

सकारात्मक साक्ष्य के लिए आवश्यक है कि स्क्रिप्ट रन मार्कर, देखे गए अपस्ट्रीम फ्रेम हेडर, इंजेक्टेड-फ्रेम फ्लैग और प्रभावित NGINX संस्करण को सहसंबंधित करे।

आउटपुट आर्टिफैक्ट्स

अपस्ट्रीम लॉगर JSON फ़ाइलें लिखता है जिनका नाम इस प्रकार है:

root@kitploit:~
frames_<timestamp>.json

प्रत्येक लॉग में पार्स किए गए HTTP/2 फ्रेम मेटाडेटा, पेलोड अंश, बाइट ऑफ़सेट, इंजेक्शन डिटेक्शन फ्लैग और रन-सहसंबंध फ़ील्ड होते हैं।

तुलना हार्नेस कमजोर और पैच किए गए रनों के लिए अलग-अलग लॉग निर्देशिकाएं संग्रहीत करता है ताकि दो निष्पादनों के साक्ष्य मिश्रित न हों।

समस्या निवारण

यदि PHP स्क्रिप्ट रिपोर्ट करती है कि कॉन्फ़िगरेशन सहायक निष्पादन योग्य नहीं है, तो चलाएं:

root@kitploit:~
chmod +x nginx_config_verify.sh

यदि अनुरोध 413 Request Entity Too Large लौटाता है, तो client_max_body_size को कम से कम 16m तक बढ़ाएं; नमूना कॉन्फ़िगरेशन 20m का उपयोग करता है।

यदि कोई अपस्ट्रीम लॉग नहीं बनाया गया है, तो जांचें कि:

  • upstream_frame_logger.py चल रहा है।
  • NGINX 127.0.0.1:8081 पर प्रॉक्सी कर रहा है।
  • लक्ष्य URL कॉन्फ़िगर किए गए NGINX सुनने वाले की ओर इशारा करता है।
  • अनुरोध /exploit स्थान तक पहुंचा।

यदि NGINX पोर्ट 80 को बाइंड करने में विफल रहता है, तो या तो इसे लैब वातावरण में उपयुक्त विशेषाधिकारों के साथ चलाएं या कॉन्फ़िगरेशन को उच्च पोर्ट जैसे 8080 में बदलें।

यदि तुलना परिणाम अनिर्णायक है, तो विफल पूर्व शर्त के लिए vulnerable_result.txt, patched_result.txt, और संबंधित अपस्ट्रीम लॉग निर्देशिकाओं का निरीक्षण करें।

लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE देखें।

टूल डाउनलोड करें
फ़ाइलविवरण
README.mdपरियोजना दस्तावेज़ीकरण।
LICENSEMIT लाइसेंस।
DockerfileNGINX 1.29.4, PHP CLI/cURL, Python, और प्रोजेक्ट स्क्रिप्ट के साथ एक स्व-निहित लैब इमेज बनाता है।
docker-compose.ymlकमजोर NGINX सेवा, अपस्ट्रीम फ्रेम लॉगर, और एक वैकल्पिक सत्यापन रनर शुरू करता है।
cve_2026_42926_lab.phpमुख्य लैब सत्यापन स्क्रिप्ट। यह संस्करण/कॉन्फ़िगरेशन पूर्व शर्तों की जांच करता है, क्राफ्टेड अनुरोध भेजता है, अपस्ट्रीम लॉग का निरीक्षण करता है, और एक निर्णय देता है।
nginx_vulnerable.confनमूना NGINX कॉन्फ़िगरेशन जिसमें कमजोर प्रॉक्सीिंग पैटर्न है, जिसका उपयोग कमजोर और पैच दोनों तुलनात्मक रनों के लिए किया जाता है।
docker/nginx_vulnerable.docker.confDocker-विशिष्ट NGINX कॉन्फ़िगरेशन जो उसी कमजोर पैटर्न और Compose सेवा डिस्कवरी का उपयोग करता है।
nginx_config_verify.shसहायक जो सत्यापित करता है कि लक्ष्य NGINX कॉन्फ़िगरेशन में आवश्यक कमजोर प्रॉक्सी पैटर्न है या नहीं।
upstream_frame_logger.pyनियंत्रित रॉ HTTP/2 अपस्ट्रीम लॉगर जो NGINX से प्राप्त फ्रेमों को कैप्चर और निरीक्षण करने के लिए उपयोग किया जाता है।
run_lab_comparison.shकमजोर-बनाम-पैच तुलनात्मक रनों का आयोजन करता है।
.dockerignoreजनरेटेड लॉग और IDE मेटाडेटा को Docker बिल्ड कॉन्टेक्स्ट से बाहर रखता है।
तर्कडिफ़ॉल्ट
target_urlhttp://localhost/exploit
upstream_log_dir./upstream_logs
config_script./nginx_config_verify.sh
nginx_binarynginx
nginx_config/etc/nginx/nginx.conf
location/exploit
version_urlhttp://localhost/version
निर्णयअर्थनिकास कोड
positiveफ्रेम इंजेक्शन साक्ष्य देखा गया और रन से संबंधित था।0
negativeपूर्व शर्तें पूरी हुईं और कोई इंजेक्शन साक्ष्य नहीं देखा गया।1
inconclusiveएक या अधिक पूर्व शर्तें या साक्ष्य जांच विफल रहीं।2