
CVE-2023-27372 के लिए सुरक्षित PoC स्कैनर और Docker लैब, जो SPIP CMS 4.2.1 से पहले के संस्करणों में RCE है। पासवर्ड रिकवरी एंडपॉइंट के माध्यम से कमजोरी की पुष्टि करता है, बिना विनाशकारी कार्रवाई के।
इस भंडार में शामिल है:
stand/ — डॉकर पर प्रयोगशाला स्टैंड (असुरक्षित वातावरण): SPIP + MariaDB।poc/ — पायथन में सत्यापन उपकरण (scanner), जो विनाशकारी कार्यों के बिना सुरक्षित पुष्टि (Safe PoC) लागू करता है।यह प्रोजेक्ट SPIP 4.2.1 से पहले के संस्करणों में CVE-2023-27372 भेद्यता के प्रदर्शन और विश्लेषण के लिए है। सत्यापन पासवर्ड पुनर्प्राप्ति कार्यक्षमता (spip.php?page=spip_pass एंडपॉइंट) के माध्यम से किया जाता है और स्टैंड पक्ष पर एक सुरक्षित कमांड के निष्पादन द्वारा पुष्टि की जाती है।
.
├── stand/ # डॉकर कंपोज़ पर असुरक्षित स्टैंड (SPIP + MariaDB)
│ ├── docker-compose.yml
│ └── ... (Dockerfile/स्टैंड स्क्रिप्ट्स, persist volumes आदि)
└── poc/ # Safe PoC scanner (Python)
├── Dockerfile
├── README.md # (वैकल्पिक) PoC का स्थानीय दस्तावेज़ीकरण
└── src/
├── scanner.py
├── utils.py
└── pyproject.toml
cd stand
docker compose up -d
docker compose ps
सेवा निम्न पते पर उपलब्ध होगी:
http://127.0.0.1:8080/http://127.0.0.1:8080/spip.php?page=loginpoc/ पर जाएं और स्कैनर की डॉकर इमेज बनाएं:
cd ../poc
# यदि आपके वातावरण में बिल्ड के दौरान DNS समस्याएं हैं, तो उपयोग करें:
docker build --network=host -t spip-poc-scanner .
यदि DNS कोई समस्या नहीं है, तो सामान्य कमांड:
docker build -t spip-poc-scanner .
स्थानीय स्टैंड के लिए अनुशंसित चलाने का तरीका:
docker run --rm --network="host" \
-v "$(pwd)":/app/out \
spip-poc-scanner \
-i http://127.0.0.1:8080 \
-o /app/out/results.json
निष्पादन के बाद results.json बनेगा (उदाहरण संरचना):
[
{
"ip": "http://127.0.0.1:8080",
"vuln": true
}
]
यदि आपका PoC कार्यान्वयन फ़ाइल निर्माण (उदाहरण के लिए, /tmp/pwned.txt) के माध्यम से निष्पादन की पुष्टि करता है, तो आप इसे वेब कंटेनर के अंदर जांच सकते हैं।
हार्ड-कोडेड कंटेनर नाम के बिना विकल्प:
cd ../stand
WEB_CID="$(docker compose ps -q web)"
docker exec "$WEB_CID" ls -l /tmp/pwned.txt
यदि फ़ाइल मौजूद है, तो यह स्टैंड के भीतर कमांड निष्पादन की संभावना की पुष्टि करता है।
pip के माध्यम से स्थापित होती हैं)spip.php?page=spip_passdocker build के दौरान Temporary failure in name resolutionहोस्ट नेटवर्क के साथ बिल्ड का उपयोग करें:
docker build --network=host -t spip-poc-scanner .
कंटेनर रोकें और वॉल्यूम हटाएं:
cd stand
docker compose down -v
docker compose up -d
यह प्रोजेक्ट पूरी तरह से शैक्षिक उपयोग और आपके स्वयं के प्रयोगशाला वातावरण में कानूनी परीक्षण के लिए बनाया गया है। लेखक किसी भी अनधिकृत उपयोग के लिए जिम्मेदार नहीं है।