
WebGoat v2026.3
जानबूझकर कमजोर बनाया गया वेब एप्लिकेशन, जिसमें वेब एप्लिकेशन सुरक्षा और पेनिट्रेशन टेस्टिंग तकनीकें सीखने के लिए इंटरैक्टिव पाठ और चुनौतियाँ शामिल हैं।
WebGoat: एक जानबूझकर असुरक्षित वेब एप्लिकेशन
परिचय
WebGoat OWASP द्वारा अनुरक्षित एक जानबूझकर असुरक्षित वेब एप्लिकेशन है, जिसे वेब एप्लिकेशन सुरक्षा पाठ सिखाने के लिए डिज़ाइन किया गया है।
यह प्रोग्राम सामान्य सर्वर-साइड एप्लिकेशन दोषों का प्रदर्शन है। अभ्यासों का उद्देश्य लोगों द्वारा एप्लिकेशन सुरक्षा और पेनेट्रेशन परीक्षण तकनीकों को सीखने के लिए उपयोग किया जाना है।
चेतावनी 1: इस प्रोग्राम को चलाते समय आपकी मशीन हमले के प्रति अत्यंत संवेदनशील होगी। इस प्रोग्राम का उपयोग करते समय आपको इंटरनेट से डिस्कनेक्ट रहना चाहिए। WebGoat का डिफ़ॉल्ट कॉन्फ़िगरेशन जोखिम को कम करने के लिए localhost से बंधा होता है।
चेतावनी 2: यह प्रोग्राम केवल शैक्षिक उद्देश्यों के लिए है। यदि आप बिना अनुमति के इन तकनीकों का प्रयास करते हैं, तो आपके पकड़े जाने की बहुत संभावना है। यदि आप अनधिकृत हैकिंग में संलग्न पकड़े जाते हैं, तो अधिकांश कंपनियाँ आपको नौकरी से निकाल देंगी। यह दावा करना कि आप सुरक्षा अनुसंधान कर रहे थे, काम नहीं करेगा क्योंकि यह पहली बात है जो सभी हैकर्स दावा करते हैं।

स्थापना निर्देश:
अधिक विवरण के लिए योगदान गाइड देखें
1. Docker का उपयोग करके चलाएँ
यदि आपके पास पहले से ही आपकी मशीन पर एक ब्राउज़र और ZAP और/या Burp स्थापित हैं, तो इस स्थिति में आप Docker का उपयोग करके सीधे WebGoat इमेज चला सकते हैं।
हर रिलीज़ DockerHub पर भी प्रकाशित होती है।
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat
कुछ पाठों के लिए आपको कंटेनर को समान समय क्षेत्र में चलाने की आवश्यकता होती है। इसके लिए आप TZ पर्यावरण चर सेट कर सकते हैं। उदा.
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=America/Boise webgoat/webgoat
यदि आप OWASP ZAP या किसी अन्य प्रॉक्सी का उपयोग करना चाहते हैं, तो आप अब 127.0.0.1 या localhost का उपयोग नहीं कर सकते, लेकिन आप कस्टम होस्ट प्रविष्टियों का उपयोग कर सकते हैं। उदाहरण के लिए:
127.0.0.1 www.webgoat.local www.webwolf.local
फिर आप कंटेनर को इस प्रकार चला सकते हैं:
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e WEBGOAT_HOST=www.webgoat.local -e WEBWOLF_HOST=www.webwolf.local -e TZ=America/Boise webgoat/webgoat
फिर http://www.webgoat.local:8080/WebGoat/ और http://www.webwolf.local:9090/WebWolf/ पर जाएँ
2. संपूर्ण Linux डेस्कटॉप के साथ Docker का उपयोग करके चलाएँ
उपकरणों को स्थानीय रूप से स्थापित करने के बजाय हमारे पास आपके ब्राउज़र में डेस्कटॉप चलाने पर आधारित एक संपूर्ण Docker इमेज है। इस तरह आपको केवल एक Docker इमेज चलानी होती है जो आपको सर्वोत्तम उपयोगकर्ता अनुभव देगी।
docker run -p 127.0.0.1:3000:3000 webgoat/webgoat-desktop
3. स्टैंडअलोन
नवीनतम WebGoat रिलीज़ https://github.com/WebGoat/WebGoat/releases से डाउनलोड करें
export TZ=Europe/Amsterdam # or your timezone
java -Dfile.encoding=UTF-8 -jar webgoat-2023.8.jar
WebGoat प्रारंभ करने के लिए लॉग में दिए गए लिंक पर क्लिक करें।
3.1 किसी भिन्न पोर्ट पर चलाना
यदि किसी कारण से आप WebGoat को किसी भिन्न पोर्ट पर चलाना चाहते हैं, तो आप निम्न पैरामीटर जोड़कर ऐसा कर सकते हैं:
java -jar webgoat-2023.8.jar --webgoat.port=8001 --webwolf.port=8002
आपके द्वारा उपयोग किए जा सकने वाले सभी मापदंडों का पूर्ण अवलोकन प्राप्त करने के लिए, कृपया [WebGoat प्रॉपर्टीज़ फ़ाइल](webgoat-container/src/main/resources/application-{webgoat, webwolf}.properties) देखें।
4. स्रोतों से चलाएँ
पूर्वापेक्षाएँ:
- Java 25
- आपका पसंदीदा IDE
- Git, या आपके IDE में Git समर्थन
एक कमांड शेल/विंडो खोलें:
git clone [email protected]:WebGoat/WebGoat.git
अब आइए परियोजना को संकलित करके प्रारंभ करें।
cd WebGoat
git checkout <<branch_name>>
# On Linux/Mac:
./mvnw clean install
# On Windows:
./mvnw.cmd clean install
If you have ran WebGoat before, you should first run mvn clean -Pcleanall to clean up files from your temp and home directories which could fail the tests due to changes in lessons!
# Using docker or podman, you can than build the container locally
docker build -f Dockerfile . -t webgoat/webgoat
अब हम परियोजना चलाने के लिए तैयार हैं। WebGoat Spring Boot का उपयोग कर रहा है।
# On Linux/Mac:
./mvnw spring-boot:run
# On Windows:
./mvnw.cmd spring-boot:run
... आपको कुछ ही क्षणों में WebGoat http://localhost:8080/WebGoat/ पर चलता हुआ दिखाई देगा।
नोट: यदि आप लॉग इन नहीं हैं तो उपरोक्त लिंक आपको लॉगिन पृष्ठ पर पुनर्निर्देशित करेगा। आगे बढ़ने के लिए लॉगइन/खाता बनाएँ।
IP पता बदलने के लिए WebGoat/webgoat-container/src/main/resources/application.properties फ़ाइल में निम्नलिखित वेरिएबल जोड़ें:
server.address=x.x.x.x
4. कस्टम मेनू के साथ चलाएँ
केवल विशेषज्ञों के लिए। WebGoat को वैयक्तिकृत मेनू के साथ सेट करने का एक तरीका है। कुछ पर्यावरण चर सेट करके आप कुछ मेनू श्रेणियों या व्यक्तिगत पाठों को छोड़ सकते हैं।
उदाहरण के लिए Linux/macOS पर jar के रूप में चलाने पर यह इस प्रकार दिखेगा:
export TZ=Europe/Amsterdam # or your timezone
export EXCLUDE_CATEGORIES="CLIENT_SIDE,GENERAL,CHALLENGE"
export EXCLUDE_LESSONS="SqlInjectionAdvanced,SqlInjectionMitigations"
java -jar target/webgoat-2023.8-SNAPSHOT.jar
या Docker रन में यह (एक बार जब यह संस्करण docker hub में पुश कर दिया जाए) इस प्रकार दिखेगा:
docker run -d -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e EXCLUDE_CATEGORIES="CLIENT_SIDE,GENERAL,CHALLENGE" -e EXCLUDE_LESSONS="SqlInjectionAdvanced,SqlInjectionMitigations" webgoat/webgoat