
WebGoat v2026.5
जानबूझकर कमजोर बनाया गया वेब एप्लिकेशन, जिसमें वेब एप्लिकेशन सुरक्षा और पेनिट्रेशन टेस्टिंग तकनीकें सीखने के लिए इंटरैक्टिव पाठ और चुनौतियाँ शामिल हैं।
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. स्टैंडअलोन
https://github.com/WebGoat/WebGoat/releases से नवीनतम WebGoat रिलीज़ डाउनलोड करें
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
संयुक्त JAR में, --server.port --webgoat.port का उपनाम है। WebWolf का पोर्ट अलग से सेट करने के लिए --webwolf.port का उपयोग करें।
उपलब्ध सेटिंग्स के लिए, WebGoat properties और 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
... आपको कुछ ही समय में http://localhost:8080/WebGoat पर WebGoat चल रहा होगा।
नोट: यदि आप लॉग इन नहीं हैं तो उपरोक्त लिंक आपको लॉगिन पेज पर रीडायरेक्ट कर देगा। आगे बढ़ने के लिए LogIn/खाता बनाएँ।
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 run में यह (एक बार जब यह संस्करण 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