इसे छोड़कर कंटेंट पर जाएं

अनुप्रयोग

अनुप्रयोग अवलोकन

Section titled “अनुप्रयोग अवलोकन”

प्रत्येक अनुप्रयोग VM पर nginx रिवर्स प्रॉक्सी के माध्यम से पहुँच योग्य nginx अपस्ट्रीम पूल के पीछे 4 लोड-बैलेंस्ड Docker कंटेनर के रूप में चलता है। Sticky sessions सुनिश्चित करते हैं कि स्टेटफुल अनुप्रयोग (Juice Shop, DVWA, VAmPI, CSD Demo) निरंतर रूट होते रहें। सभी अनुप्रयोग जानबूझकर असुरक्षित हैं और सुरक्षा परीक्षण के लिए डिज़ाइन किए गए हैं।

नीचे दिए गए सभी उदाहरणों में <ORIGIN> को http://<PUBLIC_IP> से बदलें। Terraform के माध्यम से तैनात करने के बाद, terraform output -raw public_ip से IP प्राप्त करें।

त्वरित संदर्भ — सभी URL पथ

Section titled “त्वरित संदर्भ — सभी URL पथ”
पथअनुप्रयोगHTTP विधिअपेक्षित प्रतिक्रिया
/लैंडिंग पृष्ठGET200 HTML सभी ऐप्स के लिंक सहित
/healthस्वास्थ्य जाँचGET200 JSON {"status":"healthy","component":"origin-server",...}
/juice-shop/Juice ShopGET200 HTML (Angular SPA, ~75 KB)
/juice-shop/rest/products/search?q=Juice Shop APIGET200 JSON {"status":"success","data":[...]} (36 उत्पाद)
/dvwa/DVWAGET302 /dvwa/login.php पर पुनर्निर्देशन
/dvwa/login.phpDVWA लॉगिनGET200 HTML लॉगिन फ़ॉर्म
/dvwa/setup.phpDVWA सेटअपGET200 HTML (प्रथम-रन डेटाबेस इनिट)
/vampi/VAmPIGET200 HTML (API दस्तावेज़)
/vampi/users/v1VAmPI APIGET200 JSON {"users":[...]}
/vampi/users/v1/registerVAmPI APIPOST200 JSON {"status":"success",...}
/vampi/users/v1/loginVAmPI APIPOST200 JSON {"auth_token":"...","status":"success"}
/httpbin/gethttpbinGET200 JSON अनुरोध विवरण सहित
/httpbin/posthttpbinPOST200 JSON पोस्ट किए गए डेटा सहित
/httpbin/headershttpbinGET200 JSON {"headers":{...}}
/httpbin/status/:codehttpbinGETनिर्दिष्ट HTTP स्टेटस कोड लौटाता है
/whoami/whoamiGET200 सादा पाठ जिसमें होस्टनाम, IP, सभी हेडर हैं
/csd-demo/CSD DemoGET200 HTML चेकआउट फ़ॉर्म और आक्रमण पैनल सहित
/csd-demo/dashboardCSD आक्रमणकर्ता दृश्यGET200 HTML एक्सफ़िल्ट्रेटेड डेटा दिखाता है
/csd-demo/healthCSD स्वास्थ्यGET200 JSON {"status":"healthy","component":"csd-demo",...}
/csd-demo/exfil/logCSD एक्सफ़िल लॉगGET200 JSON कैप्चर किए गए डेटा की सरणी
/dvga/DVGA GraphiQLGET200 HTML (GraphiQL IDE)
/dvga/graphqlDVGA GraphQL APIPOST200 JSON GraphQL प्रतिक्रिया
/restaurant/RESTaurantGET200 (दस्तावेज़ों पर पुनर्निर्देशित)
/restaurant/docsRESTaurant SwaggerGET200 HTML (FastAPI Swagger UI)
/restaurant/openapi.jsonRESTaurant OpenAPIGET200 JSON OpenAPI विनिर्देश
http://<PUBLIC_IP>:8888crAPIGET200 HTML (SPA)
http://<PUBLIC_IP>:8888/identity/api/auth/signupcrAPI साइनअपPOST200 JSON
http://<PUBLIC_IP>:8888/identity/api/auth/logincrAPI लॉगिनPOST200 JSON {"token":"..."}
पथ/juice-shop/
इमेजbkimminich/juice-shop:latest
इंस्टेंस4 (पोर्ट 3001-3004), hash $cookie_token के माध्यम से sticky, प्रॉक्सी कैश (60 s TTL)
संसाधनप्रति इंस्टेंस 2 CPU / 1 GiB RAM
फ्रेमवर्कNode.js / Angular
प्रोजेक्टowasp.org/www-project-juice-shop

OWASP Juice Shop सबसे आधुनिक और सक्रिय रूप से अनुरक्षित असुरक्षित वेब अनुप्रयोग है। यह एक वास्तविक ई-कॉमर्स अनुप्रयोग में 100+ चुनौतियों के साथ संपूर्ण OWASP Top 10 को कवर करता है।

परिदृश्यश्रेणीआक्रमण वेक्टर
SQL Injection लॉगिन बाईपासवेब ऐप फ़ायरवॉल (WAF)लॉगिन ईमेल फ़ील्ड में ' OR 1=1--
Reflected XSSवेब ऐप फ़ायरवॉल (WAF), क्लाइंट-साइड डिफेंसखोज पैरामीटर के माध्यम से स्क्रिप्ट इंजेक्शन
DOM-based XSSक्लाइंट-साइड डिफेंसURL फ्रैगमेंट में पेलोड
टूटी हुई प्रमाणीकरणवेब ऐप फ़ायरवॉल (WAF)ब्रूट फोर्स लॉगिन, JWT हेरफेर
API दुरुपयोगAPI सुरक्षा/api/ एंडपॉइंट तक अनधिकृत पहुँच
संवेदनशील डेटा उजागर होनाAPI सुरक्षाबिना प्राधिकरण के उपयोगकर्ता डेटा तक पहुँच
CSRFवेब ऐप फ़ायरवॉल (WAF)प्रोफ़ाइल परिवर्तनों पर क्रॉस-साइट रिक्वेस्ट फ़ॉर्जरी
Terminal window
curl -s "http://<PUBLIC_IP>/juice-shop/" -o /dev/null -w "%{http_code}"
पथ/dvwa/
इमेजकस्टम dvwa-fpm:latest (php-fpm + nginx, ghcr.io/digininja/dvwa:latest से निर्मित)
इंस्टेंस4 (पोर्ट 8101-8104), hash $cookie_PHPSESSID के माध्यम से sticky
संसाधनप्रति इंस्टेंस 0.5 CPU / 256 MiB RAM
डेटाबेससाझा MariaDB 10.11 (dvwa-db कंटेनर, 1 CPU / 768 MiB)
फ्रेमवर्कPHP 8 / php-fpm / MariaDB
क्रेडेंशियलadmin / password

DVWA वेब ऐप फ़ायरवॉल (WAF) परीक्षण के लिए उद्योग मानक है। इसमें समायोज्य सुरक्षा स्तर (Low, Medium, High, Impossible) हैं जो क्रमिक रूप से इनपुट सत्यापन और आउटपुट एन्कोडिंग जोड़ते हैं।

परिदृश्यश्रेणीसुरक्षा स्तर
SQL Injectionवेब ऐप फ़ायरवॉल (WAF)Low: सरल ' OR 1=1#, High: ब्लाइंड SQLi
Command Injectionवेब ऐप फ़ायरवॉल (WAF)Low: ; ls, High: फ़िल्टर किए गए वर्ण
File Inclusionवेब ऐप फ़ायरवॉल (WAF)Low: सीधा पाथ ट्रैवर्सल, High: सैनिटाइज़ किया गया
XSS (Reflected)वेब ऐप फ़ायरवॉल (WAF), क्लाइंट-साइड डिफेंसLow: बेसिक <script>, High: एन्कोडेड बाईपास
XSS (Stored)वेब ऐप फ़ायरवॉल (WAF), क्लाइंट-साइड डिफेंसLow: गेस्टबुक में स्थायी स्क्रिप्ट
File Uploadवेब ऐप फ़ायरवॉल (WAF)Low: PHP शेल अपलोड, High: एक्सटेंशन फ़िल्टरिंग
Brute ForceBot मानक रक्षास्वचालित लॉगिन प्रयास

लॉग इन करने के बाद /dvwa/security.php पर सुरक्षा स्तर सेट करें:

  • Low — कोई इनपुट सत्यापन नहीं। प्रत्येक आक्रमण काम करता है। वेब ऐप फ़ायरवॉल (WAF) सिग्नेचर प्रदर्शन के लिए उपयुक्त।
  • Medium — बेसिक फ़िल्टरिंग। कुछ आक्रमणों के लिए एन्कोडिंग या बाईपास तकनीकें आवश्यक हैं।
  • High — मज़बूत फ़िल्टरिंग। केवल उन्नत तकनीकें सफल होती हैं। वेब ऐप फ़ायरवॉल (WAF) की सीमाएँ दिखाने के लिए उपयुक्त।
  • Impossible — पूरी तरह सुरक्षित कार्यान्वयन। उचित रक्षात्मक कोडिंग को प्रदर्शित करता है।

प्रारंभिक सेटअप

Section titled “प्रारंभिक सेटअप”

DVWA को पहले तैनाती के बाद एकमुश्त डेटाबेस सेटअप की आवश्यकता होती है:

  1. http://<PUBLIC_IP>/dvwa/setup.php पर जाएँ
  2. Create / Reset Database पर क्लिक करें
  3. admin / password से लॉग इन करें
पथ/vampi/
इमेजerev0s/vampi:latest gunicorn entrypoint (4 workers) के साथ
इंस्टेंस4 (पोर्ट 5101-5104), ip_hash के माध्यम से sticky (प्रति इंस्टेंस SQLite)
संसाधनप्रति इंस्टेंस 0.5 CPU / 512 MiB RAM
फ्रेमवर्कPython / Flask / gunicorn
प्रोजेक्टgithub.com/erev0s/VAmPI

VAmPI OWASP API Security Top 10 के परीक्षण के लिए विशेष रूप से निर्मित है। यह जानबूझकर कमज़ोरियों के साथ एक वास्तविक REST API प्रदान करता है। प्रत्येक इंस्टेंस 4 workers के साथ gunicorn और अपना SQLite डेटाबेस चलाता है। ip_hash sticky session सुनिश्चित करता है कि एक ही क्लाइंट IP से पंजीकरण और लॉगिन हमेशा एक ही इंस्टेंस पर जाएँ।

परिदृश्यOWASP API Top 10विधि
Broken Object Level Authorization (BOLA)API1ID में हेरफेर करके अन्य उपयोगकर्ताओं का डेटा एक्सेस करना
टूटी हुई प्रमाणीकरणAPI2कमज़ोर टोकन हैंडलिंग, कोई रेट लिमिटिंग नहीं
अत्यधिक डेटा उजागर होनाAPI3API क्लाइंट की ज़रूरत से अधिक डेटा लौटाता है
Mass AssignmentAPI6अनपेक्षित पैरामीटर के माध्यम से एडमिन फ़ील्ड में बदलाव
SQL InjectionAPI8API पैरामीटर के माध्यम से इंजेक्शन
अनुचित संपत्ति प्रबंधनAPI9अनदस्तावेज़ीकृत API एंडपॉइंट
Terminal window
# नया उपयोगकर्ता पंजीकृत करें
curl -X POST "http://<PUBLIC_IP>/vampi/users/v1/register" \
-H "Content-Type: application/json" \
-d '{"username":"test","password":"test123","email":"test@test.com"}'
# लॉगिन
curl -X POST "http://<PUBLIC_IP>/vampi/users/v1/login" \
-H "Content-Type: application/json" \
-d '{"username":"test","password":"test123"}'
# उपयोगकर्ताओं की सूची (अत्यधिक डेटा उजागर होना)
curl "http://<PUBLIC_IP>/vampi/users/v1"
पथ/httpbin/
इमेजkennethreitz/httpbin:latest gunicorn CMD ओवरराइड (-w 4 -k gevent --timeout 30) के साथ
इंस्टेंस4 (पोर्ट 8201-8204), राउंड-रॉबिन (स्टेटलेस)
संसाधनप्रति इंस्टेंस 0.5 CPU / 256 MiB RAM
फ्रेमवर्कPython / Flask / gunicorn + gevent
प्रोजेक्टhttpbin.org

httpbin एक सरल HTTP अनुरोध/प्रतिक्रिया सेवा है जो बेसिक API डेमो, अनुरोध हेडर परीक्षण और प्रॉक्सी व्यवहार की जाँच के लिए उपयोगी है।

उपयोगी एंडपॉइंट

Section titled “उपयोगी एंडपॉइंट”
एंडपॉइंटउद्देश्य
/httpbin/getGET अनुरोध डेटा (हेडर, args, origin) लौटाता है
/httpbin/postPOST अनुरोध डेटा (body, form, JSON) लौटाता है
/httpbin/headersअनुरोध हेडर लौटाता है
/httpbin/ipऑरिजिन IP लौटाता है
/httpbin/user-agentUser-Agent हेडर लौटाता है
/httpbin/status/:codeनिर्दिष्ट HTTP स्टेटस कोड लौटाता है
/httpbin/delay/:secondsN सेकंड के लिए प्रतिक्रिया में देरी करता है
/httpbin/anythingअनुरोध में पास की गई कोई भी चीज़ लौटाता है
Terminal window
# देखें कि ऑरिजिन कौन से हेडर देखता है (F5 XC हेडर इंजेक्शन की जाँच के लिए उपयोगी)
curl -s "http://<PUBLIC_IP>/httpbin/headers" | jq .
# एक विशिष्ट HTTP स्टेटस कोड का परीक्षण करें
curl -s -o /dev/null -w "%{http_code}" "http://<PUBLIC_IP>/httpbin/status/403"

whoami (अनुरोध निदान)

Section titled “whoami (अनुरोध निदान)”
पथ/whoami/
इमेजtraefik/whoami:latest
इंस्टेंस4 (पोर्ट 8082-8085), राउंड-रॉबिन (स्टेटलेस)
संसाधनप्रति इंस्टेंस 0.25 CPU / 64 MiB RAM
फ्रेमवर्कGo
प्रोजेक्टgithub.com/traefik/whoami

whoami Traefik का हल्का अनुरोध इको सर्वर है। यह आने वाले HTTP अनुरोध का प्रत्येक विवरण प्रदर्शित करता है जैसा ऑरिजिन देखता है — होस्टनाम, IP पते, सभी हेडर, विधि और URL। यह F5 XC द्वारा सही हेडर इंजेक्ट किए जाने की जाँच के समय सबसे महत्वपूर्ण निदान उपकरण है।

प्रमुख उपयोग के मामले

Section titled “प्रमुख उपयोग के मामले”
उपयोग का मामलाक्या देखना है
F5 XC हेडर इंजेक्शन की जाँचX-Forwarded-For, True-Client-IP, X-Volterra-* हेडर
क्लाइंट IP दृश्यता की पुष्टिX-Real-IP बनाम RemoteAddr
वेब ऐप फ़ायरवॉल (WAF) फ़ॉल्स पॉज़िटिव डीबग करेंF5 XC से पहले/बाद अनुरोध हेडर की तुलना करें
Bot Defense टैगिंग की जाँचX-Volterra-Bot-Type, X-Volterra-Bot-Verified हेडर
TLS टर्मिनेशन की जाँचX-Forwarded-Proto दिखाता है https जब TLS F5 XC पर समाप्त होता है
Terminal window
# बेसिक अनुरोध -- देखें कि ऑरिजिन क्या प्राप्त करता है
curl "http://<PUBLIC_IP>/whoami/"
# F5 XC के माध्यम से अनुरोध अनुकरण करें (इंजेक्टेड हेडर के साथ)
curl "http://<PUBLIC_IP>/whoami/" \
-H "X-Forwarded-For: 203.0.113.50" \
-H "True-Client-IP: 203.0.113.50" \
-H "X-Forwarded-Proto: https"

उदाहरण आउटपुट:

Hostname: 534c5084e169
IP: 127.0.0.1
RemoteAddr: 172.17.0.1:55118
GET / HTTP/1.1
Host: 20.12.78.159
User-Agent: curl/8.5.0
Accept: */*
True-Client-Ip: 203.0.113.50
X-Forwarded-For: 203.0.113.50, 10.0.0.1
X-Forwarded-Proto: https
X-Real-Ip: 104.219.105.84

DVGA (Damn Vulnerable GraphQL Application)

Section titled “DVGA (Damn Vulnerable GraphQL Application)”
पथ/dvga/
इमेजdolevf/dvga:latest
इंस्टेंस4 (पोर्ट 5201-5204), ip_hash के माध्यम से sticky (प्रति इंस्टेंस SQLite)
संसाधनप्रति इंस्टेंस 0.5 CPU / 256 MiB RAM
फ्रेमवर्कPython / Flask / GraphQL
प्रोजेक्टgithub.com/dolevf/Damn-Vulnerable-GraphQL-Application

DVGA GraphQL-विशिष्ट कमज़ोरियों के परीक्षण के लिए विशेष रूप से निर्मित है। यह /dvga/ पर इंटरेक्टिव क्वेरी अन्वेषण के लिए GraphiQL IDE और /dvga/graphql पर GraphQL API एंडपॉइंट प्रदान करता है। प्रत्येक इंस्टेंस अपना SQLite डेटाबेस उपयोग करता है, इसलिए ip_hash sticky sessions निरंतर स्थिति सुनिश्चित करते हैं।

परिदृश्यश्रेणीआक्रमण वेक्टर
GraphQL InjectionAPI सुरक्षास्ट्रिंग इंटरपोलेशन के माध्यम से दुर्भावनापूर्ण क्वेरी
सेवा अस्वीकृतिAPI सुरक्षागहरी नेस्टेड क्वेरी, बैच क्वेरी, संसाधन थकान
प्राधिकरण बाईपासAPI सुरक्षाGraphQL के माध्यम से अनधिकृत डेटा तक पहुँच
सूचना प्रकटीकरणAPI सुरक्षास्कीमा विवरण उजागर करने वाली इंट्रोस्पेक्शन क्वेरी
बैचिंग आक्रमणAPI सुरक्षाएकल अनुरोध में कई ऑपरेशन

प्रमुख एंडपॉइंट

Section titled “प्रमुख एंडपॉइंट”
Terminal window
# GraphiQL UI (इंटरेक्टिव IDE)
curl -sf "http://<PUBLIC_IP>/dvga/" -o /dev/null -w "%{http_code}"
# इंट्रोस्पेक्शन क्वेरी -- पूर्ण स्कीमा की गणना करें
curl -s "http://<PUBLIC_IP>/dvga/graphql" \
-H "Content-Type: application/json" \
-d '{"query":"{ __schema { types { name fields { name } } } }"}'
# पेस्ट सूचीबद्ध करें (उदाहरण क्वेरी)
curl -s "http://<PUBLIC_IP>/dvga/graphql" \
-H "Content-Type: application/json" \
-d '{"query":"{ pastes { title content } }"}'
# एक पेस्ट बनाएँ (म्यूटेशन)
curl -s "http://<PUBLIC_IP>/dvga/graphql" \
-H "Content-Type: application/json" \
-d '{"query":"mutation { createPaste(title:\"test\", content:\"hello\", public:true) { paste { title } } }"}'

RESTaurant (Damn Vulnerable RESTaurant API Game)

Section titled “RESTaurant (Damn Vulnerable RESTaurant API Game)”
पथ/restaurant/
इमेजtheowni/Damn-Vulnerable-RESTaurant-API-Game से कस्टम बिल्ड
इंस्टेंस4 (पोर्ट 8301-8304), राउंड-रॉबिन (साझा PostgreSQL)
संसाधनप्रति इंस्टेंस 0.5 CPU / 256 MiB RAM
डेटाबेससाझा PostgreSQL 15.4 (restaurant-db कंटेनर, 0.5 CPU / 512 MiB)
फ्रेमवर्कPython / FastAPI / PostgreSQL
क्रेडेंशियलadmin / password (PostgreSQL)
प्रोजेक्टgithub.com/theowni/Damn-Vulnerable-RESTaurant-API-Game

RESTaurant OWASP API Security Top 10 2023 को कवर करने वाला एक गेमीफाइड असुरक्षित REST API है। यह /restaurant/docs पर स्वचालित Swagger UI दस्तावेज़ीकरण के साथ FastAPI का उपयोग करता है। सभी 4 इंस्टेंस एकल PostgreSQL डेटाबेस साझा करते हैं, इसलिए राउंड-रॉबिन लोड बैलेंसिंग sticky sessions के बिना काम करती है।

परिदृश्यOWASP API Top 10 2023विधि
Broken Object Level Authorization (BOLA)API1ID में हेरफेर करके अन्य उपयोगकर्ताओं के ऑर्डर एक्सेस करना
टूटी हुई प्रमाणीकरणAPI2कमज़ोर टोकन हैंडलिंग, क्रेडेंशियल स्टफिंग
टूटा हुआ ऑब्जेक्ट प्रॉपर्टी लेवल प्राधिकरणAPI3उपयोगकर्ता प्रोफ़ाइल फ़ील्ड पर Mass Assignment
अप्रतिबंधित संसाधन खपतAPI4एंडपॉइंट पर कोई रेट लिमिटिंग नहीं
Broken Function Level Authorization (BFLA)API5नियमित उपयोगकर्ता के रूप में एडमिन एंडपॉइंट एक्सेस करना
Server Side Request Forgery (SSRF)API7सर्वर-साइड URL अनुरोधों में हेरफेर
सुरक्षा गलत कॉन्फ़िगरेशनAPI8विस्तृत त्रुटि संदेश, डिफ़ॉल्ट क्रेडेंशियल

प्रमुख एंडपॉइंट

Section titled “प्रमुख एंडपॉइंट”
Terminal window
# Swagger UI
curl -sf "http://<PUBLIC_IP>/restaurant/docs" -o /dev/null -w "%{http_code}"
# OpenAPI विनिर्देश
curl -s "http://<PUBLIC_IP>/restaurant/openapi.json" | jq .info
# BOLA -- प्रमाणीकरण के बाद अन्य उपयोगकर्ता का ऑर्डर एक्सेस करें
curl -s "http://<PUBLIC_IP>/restaurant/orders/1" \
-H "Authorization: Bearer <token>"
# BFLA -- नियमित उपयोगकर्ता के रूप में एडमिन कार्रवाई का प्रयास
curl -s -X POST "http://<PUBLIC_IP>/restaurant/admin/users" \
-H "Authorization: Bearer <user_token>" \
-H "Content-Type: application/json"
पोर्ट8888 (समर्पित — पाथ-प्रीफिक्स्ड नहीं)
इमेजcrapi/crapi-web, crapi/crapi-identity, crapi/crapi-community, crapi/crapi-workshop, PostgreSQL, MongoDB, MailHog
इंस्टेंस7 माइक्रोसर्विसेज़ (प्रत्येक एकल इंस्टेंस)
संसाधनकुल ~3.0 CPU / ~2.0 GiB RAM
फ्रेमवर्कReact SPA + Java/Go/Python माइक्रोसर्विसेज़
प्रोजेक्टgithub.com/OWASP/crAPI

crAPI API सुरक्षा परीक्षण के लिए OWASP का प्रमुख प्रोजेक्ट है। यह एक समर्पित पोर्ट (8888) पर 7 माइक्रोसर्विसेज़ के रूप में चलता है क्योंकि React SPA अपने API पथों को हार्डकोड करता है और पाथ प्रीफिक्स के पीछे सर्व नहीं किया जा सकता। NSG पोर्ट 8888 पर इनबाउंड ट्रैफ़िक की अनुमति देता है।

MailHog crAPI द्वारा भेजे गए सभी ईमेल (खाता सत्यापन, पासवर्ड रीसेट) कैप्चर करता है। पोर्ट 18025 पर SSH टनल के माध्यम से MailHog तक पहुँचें।

चुनौती श्रेणियाँ

Section titled “चुनौती श्रेणियाँ”
श्रेणीकमज़ोरियाँ
BOLA (Broken Object Level Authorization)अन्य उपयोगकर्ताओं के वाहन, ऑर्डर और रिपोर्ट एक्सेस करना
BFLA (Broken Function Level Authorization)एडमिन में एस्केलेट करना, प्रतिबंधित एंडपॉइंट एक्सेस करना
Mass AssignmentAPI के माध्यम से संरक्षित फ़ील्ड (भूमिका, शेष राशि) में बदलाव
SSRF (Server Side Request Forgery)सर्वर-साइड URL फेचिंग में हेरफेर
JWT हेरफेरविशेषाधिकार वृद्धि के लिए JWT टोकन जाली बनाना या संशोधित करना
NoSQL InjectionMongoDB-समर्थित एंडपॉइंट में क्वेरी इंजेक्ट करना
अत्यधिक डेटा उजागर होनाAPI संवेदनशील उपयोगकर्ता डेटा लौटाता है
Terminal window
# crAPI चल रहा है इसकी जाँच करें
curl -sf "http://<PUBLIC_IP>:8888" -o /dev/null -w "%{http_code}"
# नया उपयोगकर्ता साइन अप करें
curl -s -X POST "http://<PUBLIC_IP>:8888/identity/api/auth/signup" \
-H "Content-Type: application/json" \
-d '{"name":"Test User","email":"test@example.com","number":"1234567890","password":"Test1234!"}'
# लॉग इन करें
curl -s -X POST "http://<PUBLIC_IP>:8888/identity/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","password":"Test1234!"}'
# MailHog तक पहुँचें (ईमेल सत्यापन के लिए SSH टनल के माध्यम से)
# ssh -L 18025:localhost:18025 azureuser@<PUBLIC_IP>
# फिर अपने ब्राउज़र में http://localhost:18025 खोलें
Port 8888 -> crapi-web (React SPA + nginx)
-> crapi-identity (Java, user auth, JWT)
-> crapi-community (Go, forums, posts)
-> crapi-workshop (Python, vehicle service)
-> crapi-postgres (PostgreSQL)
-> crapi-mongo (MongoDB)
-> crapi-mailhog (email capture, port 18025)

अनुप्रयोग कवरेज मैट्रिक्स

Section titled “अनुप्रयोग कवरेज मैट्रिक्स”
डेमो उपयोग का मामलाप्राथमिक ऐपद्वितीयक ऐप
वेब ऐप फ़ायरवॉल (WAF) — SQL InjectionDVWAJuice Shop
वेब ऐप फ़ायरवॉल (WAF) — XSSDVWAJuice Shop
वेब ऐप फ़ायरवॉल (WAF) — Command InjectionDVWA
API सुरक्षा — BOLAVAmPI
API सुरक्षा — प्रमाणीकरण बाईपासVAmPIJuice Shop
API सुरक्षा — डेटा उजागर होनाVAmPIhttpbin
Bot मानक रक्षा — Brute forceDVWAJuice Shop
Bot मानक रक्षा — ScrapingJuice Shop
क्लाइंट-साइड डिफेंस — DOM XSSJuice Shop
क्लाइंट-साइड डिफेंस — Stored XSSDVWAJuice Shop
क्लाइंट-साइड डिफेंस — Card SkimmerCSD Demo
क्लाइंट-साइड डिफेंस — FormjackerCSD Demo
क्लाइंट-साइड डिफेंस — KeyloggerCSD Demo
क्लाइंट-साइड डिफेंस — CryptominerCSD Demo
क्लाइंट-साइड डिफेंस — DOM HijackCSD Demo
API सुरक्षा — GraphQL injectionDVGA
API सुरक्षा — GraphQL DoSDVGA
API सुरक्षा — OWASP API Top 10 2023RESTaurantcrAPI
API सुरक्षा — BFLARESTaurantcrAPI
API सुरक्षा — Mass assignmentcrAPIRESTaurant
API सुरक्षा — SSRFcrAPIRESTaurant
API सुरक्षा — JWT हेरफेरcrAPI
API सुरक्षा — NoSQL injectioncrAPI
बेसिक कनेक्टिविटी परीक्षणhttpbin
अनुरोध निदानwhoamihttpbin
हेडर इंजेक्शन की जाँचwhoami