
जानबूझकर कमजोर माइक्रोसर्विसेज API जो OWASP API Security Top 10 जोखिमों में हाथों-हाथ प्रशिक्षण के लिए डिज़ाइन किया गया है, जिसमें अंतर्निहित चुनौतियाँ और एक यथार्थवादी कार-खरीद कार्यप्रवाह शामिल है।
completely ridiculous API (crAPI) आपको दस सबसे महत्वपूर्ण API सुरक्षा जोखिमों को समझने में मदद करेगा। crAPI डिज़ाइन द्वारा कमजोर है, लेकिन आप इसे सुरक्षित रूप से चला सकते हैं ताकि स्वयं को शिक्षित/प्रशिक्षित कर सकें।
crAPI आधुनिक है, माइक्रोसर्विस आर्किटेक्चर पर निर्मित। जब आपकी पहली कार खरीदने का समय आए, तो एक खाता बनाएं और अपनी यात्रा शुरू करें। crAPI के बारे में अधिक जानने के लिए, कृपया crAPI का अवलोकन देखें।
crAPI सेट अप करने के बाद, यह अनुशंसा की जाती है कि किसी भी सुरक्षा चुनौती का प्रयास करने से पहले इच्छित उपयोगकर्ता कार्यप्रवाह का पालन करें ताकि यह समझ सकें कि एप्लिकेशन कैसे काम करने वाला है।
-एप्लिकेशन कार्यप्रवाह (हैप्पी पथ)
आपके होस्ट सिस्टम पर Docker और docker compose स्थापित और चल रहे होने चाहिए। साथ ही, docker compose का संस्करण 1.27.0 या उससे ऊपर होना चाहिए। अपने docker compose संस्करण की जाँच इस प्रकार करें:
docker compose version
यदि आपको इस प्रकार की त्रुटियाँ मिलती हैं तो अपने docker compose संस्करण को अपग्रेड करें
ERROR: Invalid interpolation format for ...
आप हमारे CI कार्यप्रवाह द्वारा उत्पन्न पूर्व-निर्मित इमेज का उपयोग docker compose और .env फ़ाइलों को डाउनलोड करके कर सकते हैं।
नवीनतम स्थिर संस्करण का उपयोग करने के लिए।
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
unzip /tmp/crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
सर्वर कॉन्फ़िगरेशन को ओवरराइड करने के लिए, .env फ़ाइल में मौजूद वेरिएबल के मान बदलें या docker compose कमांड की शुरुआत में संबंधित वेरिएबल जोड़ें।
उदाहरण के लिए सिस्टम को सभी नेटवर्क इंटरफ़ेस पर एक्सपोज़ करने के लिए।
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
tar -xf .\crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
सर्वर कॉन्फ़िगरेशन को ओवरराइड करने के लिए, .env फ़ाइल में मौजूद वेरिएबल के मान बदलें या docker compose कमांड की शुरुआत में संबंधित वेरिएबल जोड़ें।
उदाहरण के लिए सिस्टम को सभी नेटवर्क इंटरफ़ेस पर एक्सपोज़ करने के लिए।
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
नवीनतम विकास संस्करण का उपयोग करने के लिए
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
unzip /tmp/crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
यहाँ जाएँ http://localhost:8888
नोट: सभी ईमेल डिफ़ॉल्ट रूप से मेलहॉग सेवा को भेजे जाते हैं और http://localhost:8025 पर जाँचे जा सकते हैं। यदि आवश्यक हो तो आप smtp कॉन्फ़िगरेशन बदल सकते हैं, हालांकि example.com डोमेन वाले सभी ईमेल अभी भी मेलहॉग पर जाएंगे।
चैटबॉट LLM प्रदाता कॉन्फ़िगरेशन के लिए, सेटअप निर्देश देखें।
यह विकल्प आपको crAPI को वर्चुअल मशीन के भीतर चलाने की अनुमति देता है, इस प्रकार आपके सिस्टम से अलग। आपके पास Vagrant और, उदाहरण के लिए VirtualBox स्थापित होना चाहिए।
$ git clone [REPOSITORY-URL]
$ cd deploy/vagrant && vagrant up
नोट: सभी ईमेल मेलहॉग सेवा को भेजे जाते हैं और http://192.168.33.20:8025 पर जाँचे जा सकते हैं।
जब आप crAPI के साथ खेल चुके हों, तो आप इसे अपने सिस्टम से पूरी तरह से हटा सकते हैं, रिपॉजिटरी रूट निर्देशिका से निम्नलिखित कमांड चलाकर:
$ cd deploy/vagrant && vagrant destroy
यदि आपको crAPI को स्थापित और चलाने में किसी सहायता की आवश्यकता है तो आप इस मार्गदर्शिका को देख सकते हैं: समस्या निवारण मार्गदर्शिका crAPI। यदि यह आपकी समस्या का समाधान नहीं करता है, तो कृपया Github Issues में एक समस्या बनाएँ।
सर्वर कॉन्फ़िगरेशन को ओवरराइड करने के लिए, .env फ़ाइल में मौजूद वेरिएबल के मान बदलें या docker compose कमांड की शुरुआत में संबंधित वेरिएबल जोड़ें।
उदाहरण के लिए सिस्टम को सभी नेटवर्क इंटरफ़ेस पर एक्सपोज़ करने के लिए।
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
tar -xf .\crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
सर्वर कॉन्फ़िगरेशन को ओवरराइड करने के लिए, .env फ़ाइल में मौजूद वेरिएबल के मान बदलें या docker compose कमांड की शुरुआत में संबंधित वेरिएबल जोड़ें।
उदाहरण के लिए सिस्टम को सभी नेटवर्क इंटरफ़ेस पर एक्सपोज़ करने के लिए।
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d