
CVE 2021-21315 PoC
यह CVE-2021-21315 के लिए Proof of Concept है जो Node.JS के लिए System Information Library (npm package "systeminformation") को प्रभावित करता है। npmjs.com/systeminformation
"उन सेवा पैरामीटरों की जाँच या सैनिटाइज़ करना सुनिश्चित करें जो si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() को दिए जाते हैं... केवल strings की अनुमति दें, किसी भी arrays को अस्वीकार करें। String सैनिटाइज़ेशन अपेक्षा के अनुरूप काम करता है।"
क्योंकि यह कमज़ोरियाँ अच्छी तरह से समझाई नहीं गई हैं (मेरी राय में), मैंने systeminformation के कमज़ोर संस्करण के आधार पर एक छोटा सा ऐप बनाने का निर्णय लिया। PoC में शामिल है:
पुनरुत्पादन के चरण:


यह string सैनिटाइज़ेशन के कारण विफल हो जाएगा:

जैसा कि CVE विवरण में कहा गया है "सैनिटाइज़ेशन अपेक्षा के अनुरूप काम करता है, किसी भी arrays को अस्वीकार करें [...]"
इस बार, यदि आप "name" मान को देखें, तो यह सैनिटाइज़ नहीं हुआ था - सफलता! देखते हैं कि कमांड निष्पादित हुई या नहीं
सफलता! हमारी कमांड निष्पादित हो गई। बेशक कोई भी "pwn.txt" की परवाह नहीं करता, लेकिन संभावित हमलावर यह कर सकता है:
"Command injection" निर्दोष लगता है, लेकिन यदि कुछ शर्तें पूरी होती हैं तो इसका बहुत बड़ा प्रभाव हो सकता है
समस्या "systeminformation" के संस्करण 5.3.1 में ठीक कर दी गई थी श्रेय https://www.huntr.dev/users/EffectRenan को (उसने कमज़ोरी पाई, हालाँकि मेरी राय में, उसके "PoC" ने वास्तविक दुनिया का प्रभाव नहीं दिखाया)
साथ ही, कुछ CTF में इस PoC का उपयोग करने में संकोच न करें, लेकिन अच्छा होगा यदि आप खोज के लेखक - EffectRean और PoC निर्माता - मुझे श्रेय दें, चियर्स!
यह प्रोजेक्ट केवल शैक्षिक उद्देश्यों के लिए इस्तेमाल किया जा सकता है। पूर्व अनुमति के बिना लक्षित प्रणालियों के खिलाफ इस सॉफ्टवेयर का उपयोग करना अवैध है, और इस सॉफ्टवेयर के दुरुपयोग से होने वाली किसी भी क्षति की जिम्मेदारी लेखक की नहीं होगी।