Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SealSecurity_Exam — tough-cookie पैकेज के लिए प्रोटोटाइप पॉल्यूशन भेद्यता (CVE-2023-26136) को ठीक करें | Kitploit
उपकरण/GitHubGitHub/m-lito13/sealsecurity_exam
स्थैतिक कोड विश्लेषण (SAST)भेद्यता विश्लेषणकोड विश्लेषणवेब सुरक्षालर्निंग और शिक्षा
GitHubm-lito13/sealsecurity_exam

SealSecurity_Exam

tough-cookie पैकेज के लिए प्रोटोटाइप पॉल्यूशन भेद्यता (CVE-2023-26136) को ठीक करें

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

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

सभी देखें →

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

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

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

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

SealSecurity_Exam

प्रोटोटाइप पोलूशन (Prototype pollution) एक JavaScript भेद्यता है जो हमलावर को वैश्विक ऑब्जेक्ट प्रोटोटाइप में मनमाने गुण (arbitrary properties) जोड़ने में सक्षम बनाती है, जिन्हें बाद में उपयोगकर्ता-परिभाषित ऑब्जेक्ट्स द्वारा इनहेरिट किया जा सकता है। प्रोटोटाइप पोलूशन स्रोत (source) कोई भी उपयोगकर्ता-नियंत्रित इनपुट है जो आपको प्रोटोटाइप ऑब्जेक्ट्स में मनमाने गुण जोड़ने की सुविधा देता है। सबसे सामान्य स्रोत निम्नलिखित हैं: URL JSON Web Messages

tough-cookies पैकेज (v2.5.0) के लिए, URL के माध्यम से पहला वाला अधिक प्रासंगिक है। यह निम्न प्रकार से होता है:

यहाँ कुछ अनुरोध (request) है:

https://vulnerable-website.com/?__proto__[badProperty]=payload

क्वेरी स्ट्रिंग को key:value जोड़ियों में तोड़ते समय, एक URL पार्सर __proto__ को एक मनमाने स्ट्रिंग के रूप में व्याख्यायित कर सकता है। किसी बिंदु पर, रिकर्सिव मर्ज (recursive merge) ऑपरेशन निम्नलिखित के समकक्ष कथन का उपयोग करके evilProperty का मान निर्दिष्ट कर सकता है:

targetObject.__proto__.badProperty = 'payload';

__proto__ का JavaScript में विशेष उपयोग है। जैसा कि हम जानते हैं, यदि किसी ऑब्जेक्ट के लिए कोई गुण P1 नहीं मिलता है, तो उसे इस ऑब्जेक्ट के प्रोटोटाइप में खोजा जाएगा।

उदाहरण

function myClass() { 
  this.P1 = 'value';
} 
let mc = new myClass();
console.log(mc.P1); //Value 
console.log(mc.P2); //Undefined
mc.__proto__.P2 = 'value2';
let mc2 = new myClass();
console.log(mc.P2); //value2

__proto__ बदलने के बाद - myClass के सभी निर्मित इंस्टेंस में गुण P2 होगा।

tough-cookies पैकेज (v2.5.0) के लिए, यह प्रोटोटाइप पोलूशन भेद्यता कोड स्निपेट से देखी जा सकती है:

await new Promise((resolve, reject) => {
            cookiejar.setCookie(
                "Slonser=polluted; Domain=__proto__; Path=/notauth",
                "https://__proto__/admin",
                { loose: true },
                (err, cookie) => {
                    if (err) {
                        reject(err);
                    } else {
                        resolve(cookie);
                    }
                }
            );
        });

यह पाया गया कि CookieJar क्लास डिफ़ॉल्ट रूप से MemoryCookieStore को स्टोर के रूप में उपयोग करती है। और MemoryCookieStore के कई तरीकों में ऑब्जेक्ट्स निम्न प्रकार से इनिशियलाइज़ किए जाते हैं:

this.idx = {}; 

इसका मतलब है कि this.idx के प्रोटोटाइप में __proto__ के माध्यम से मानों (जो समस्याग्रस्त मान हो सकते हैं) के साथ गुण जोड़े जा सकते हैं। इसे रोकने के लिए - कई स्थानों पर इनिशियलाइज़ेशन को निम्न प्रकार से बदला गया:

this.idx = Object.create(null);

यह बिना प्रोटोटाइप के एक खाली ऑब्जेक्ट बनाता है। फिक्स को सत्यापित करने के लिए एक टेस्ट जोड़ा गया था: memstore_vulnerability_fix_test.js

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