सामुदायिक सुरक्षा चेतावनी PHP ऑब्जेक्ट इंजेक्शन(CVE202632513)

वर्डप्रेस जेएस आर्काइव लिस्ट प्लगइन में पीएचपी ऑब्जेक्ट इंजेक्शन
प्लगइन का नाम JS आर्काइव सूची
कमजोरियों का प्रकार PHP ऑब्जेक्ट इंजेक्शन
CVE संख्या CVE-2026-32513
तात्कालिकता मध्यम
CVE प्रकाशन तिथि 2026-03-22
स्रोत URL CVE-2026-32513

JS आर्काइव सूची में PHP ऑब्जेक्ट इंजेक्शन (≤ 6.1.7) — वर्डप्रेस साइट मालिकों को अब क्या करना चाहिए

तारीख: 20 मार्च 2026
CVE: CVE-2026-32513
गंभीरता: मध्यम (रिपोर्टिंग ने 8.8 का CVSS-समान स्कोर दर्शाया)
प्रभावित संस्करण: JS आर्काइव सूची प्लगइन ≤ 6.1.7
पैच किया गया संस्करण: 6.2.0

एक हांगकांग सुरक्षा सलाहकार के रूप में, जिसके पास वर्डप्रेस डिप्लॉयमेंट की रक्षा करने का व्यावहारिक अनुभव है, मैं इस PHP ऑब्जेक्ट इंजेक्शन (POI) सुरक्षा दोष पर एक संक्षिप्त, व्यावहारिक सलाह प्रस्तुत करता हूं। यह दस्तावेज़ इस पर केंद्रित है कि साइट मालिकों, डेवलपर्स और होस्टिंग टीमों को तुरंत और दीर्घकालिक रूप से क्या करना चाहिए — स्पष्ट कदम जो आप आज जोखिम को कम करने और समझौते का पता लगाने के लिए लागू कर सकते हैं।.


कार्यकारी सारांश

  • एक PHP ऑब्जेक्ट इंजेक्शन सुरक्षा दोष (CVE-2026-32513) JS आर्काइव सूची के संस्करणों को 6.1.7 तक और शामिल करते हुए प्रभावित करता है।.
  • एक हमलावर जिसके पास योगदानकर्ता विशेषाधिकार (या उच्चतर) हैं, या कोई भी उपयोगकर्ता जो कमजोर एंडपॉइंट पर डेटा सबमिट करने में सक्षम है, वह तैयार की गई सीरियलाइज्ड PHP डेटा सबमिट कर सकता है जिसे बाद में प्लगइन द्वारा अनसीरियलाइज किया जाता है। यदि उपयुक्त गैजेट श्रृंखला मौजूद है, तो इससे दूरस्थ कोड निष्पादन, SQL इंजेक्शन, पथTraversal या अन्य गंभीर प्रभाव हो सकते हैं।.
  • प्लगइन को संस्करण 6.2.0 में पैच किया गया है। अपडेट करना प्राथमिक और सबसे प्रभावी समाधान है।.
  • यदि तत्काल अपडेट संभव नहीं है, तो वर्चुअल पैचिंग (WAF नियम), उपयोगकर्ता खातों को मजबूत करें और समझौते के लिए ऑडिट करें।.

PHP ऑब्जेक्ट इंजेक्शन (POI) क्या है और यह क्यों महत्वपूर्ण है

PHP ऑब्जेक्ट इंजेक्शन तब होता है जब अविश्वसनीय सीरियलाइज्ड PHP डेटा (serialize() का आउटपुट) को बिना अनुमति वाली कक्षाओं को प्रतिबंधित किए बिना unserialize() में पास किया जाता है। सीरियलाइज्ड ऑब्जेक्ट्स इस तरह दिखते हैं:

O:6:"MyClass":2:{s:4:"prop";s:5:"value";s:6:"_other";i:1;}

जब unserialize() चलता है, PHP पर्यावरण में मौजूद कक्षाओं के ऑब्जेक्ट्स को इंस्टेंटिएट कर सकता है। यदि इनमें से कोई भी कक्षा जादुई विधियों (उदाहरण के लिए __wakeup(), __destruct(), __toString()) को लागू करती है या साइड इफेक्ट्स करती है, तो तैयार किए गए पेलोड्स फ़ाइल लेखन, कमांड निष्पादन, या डेटाबेस संशोधनों जैसी क्रियाओं को ट्रिगर कर सकते हैं — यह एक POP (प्रॉपर्टी ओरिएंटेड प्रोग्रामिंग) श्रृंखला का सार है।.

यह वर्डप्रेस के लिए क्यों गंभीर है:

  • वर्डप्रेस इंस्टॉलेशन आमतौर पर कई तृतीय-पक्ष प्लगइन्स, थीम और पुस्तकालयों को शामिल करते हैं जो गैजेट श्रृंखला में उपयोग की जाने वाली कक्षाएं हो सकती हैं।.
  • unserialize() PHP अनुप्रयोगों और वर्डप्रेस डेटा भंडारण (विकल्प, अस्थायी, विजेट डेटा) में व्यापक रूप से उपयोग किया जाता है।.
  • हालांकि इस मुद्दे के लिए योगदानकर्ता विशेषाधिकार की आवश्यकता होती है, कई साइटें पंजीकरण की अनुमति देती हैं या लेखक/योगदानकर्ता कार्यप्रवाहों की अपर्याप्त सुरक्षा होती है; फ़िशिंग या क्रेडेंशियल पुन: उपयोग के माध्यम से खाता समझौता सामान्य है।.

इस विशिष्ट सुरक्षा दोष के लिए हमले का परिदृश्य

  1. एक हमलावर कम से कम योगदानकर्ता भूमिका के साथ एक खाता पंजीकृत करता है या समझौता करता है (या लक्षित एंडपॉइंट तक पहुंच वाले खाते का उपयोग करता है)।.
  2. हमलावर एक तैयार की गई अनुक्रमित वस्तु स्ट्रिंग को एक फॉर्म, पोस्ट मेटा, या प्लगइन एंडपॉइंट पर प्रस्तुत करता है जिसे प्लगइन प्रोसेस करता है।.
  3. प्लगइन उस इनपुट पर unserialize() कॉल करता है बिना allowed_classes विकल्प या उचित सत्यापन का उपयोग किए।.
  4. PHP पर्यावरण में उपलब्ध एक वर्ग की एक वस्तु का निर्माण करता है। पेलोड वस्तु गुणों को नियंत्रित करता है और जादुई विधियों को सक्रिय करता है।.
  5. एक गैजेट श्रृंखला संचालन करती है जैसे फ़ाइल लेखन, कमांड निष्पादन, डेटाबेस परिवर्तन या अन्य क्रियाएँ।.
  6. हमलावर विशेषाधिकार बढ़ाता है, कोड निष्पादित करता है या गैजेट श्रृंखला के आधार पर डेटा निकालता है।.

इस भेद्यता को PHP ऑब्जेक्ट इंजेक्शन (CVE-2026-32513) के रूप में वर्गीकृत किया गया है। सफल शोषण का उच्च प्रभाव हो सकता है।.

किसे जोखिम है?

  • साइटें जो JS आर्काइव सूची ≤ 6.1.7 चला रही हैं।.
  • साइटें जो उपयोगकर्ता पंजीकरण की अनुमति देती हैं या जिनमें कई योगदानकर्ता/लेखक हैं।.
  • साइटें जिनमें गैजेट श्रृंखलाओं के लिए उपयुक्त वर्गों के साथ प्लगइन/थीम/लाइब्रेरी हैं।.
  • साइटें जो पुराने PHP संस्करणों पर हैं जहां विरासती कोड गैजेट-श्रृंखला की संभावना को बढ़ाता है।.

नोट: एक अप्रमाणित हमलावर आमतौर पर बिना खाते के इसे सक्रिय नहीं कर सकता, लेकिन खाते का निर्माण या समझौता वेक्टर प्रायः व्यावहारिक रूप से मौजूद होते हैं।.

तात्कालिक क्रियाएँ (प्राथमिकता क्रम)

  1. अपडेट — JS आर्काइव सूची को संस्करण 6.2.0 या बाद में अपग्रेड करें। यह सबसे महत्वपूर्ण कदम है।.
  2. वर्चुअल पैचिंग — यदि आप तुरंत अपडेट नहीं कर सकते, तो प्लगइन के एंडपॉइंट्स या सामान्य फॉर्म सबमिशन को लक्षित करने वाले अनुक्रमित वस्तु पेलोड को ब्लॉक करने के लिए WAF नियम लागू करें।.
  3. खातों और पंजीकरण को मजबूत करें — अस्थायी रूप से सार्वजनिक पंजीकरण को निष्क्रिय करें, यदि पंजीकरण आवश्यक है तो डिफ़ॉल्ट भूमिका को सब्सक्राइबर पर सेट करें, अप्रत्याशित योगदानकर्ता खातों का ऑडिट करें और संदिग्ध उपयोगकर्ताओं के लिए पासवर्ड रीसेट करने के लिए मजबूर करें।.
  4. समझौते के लिए ऑडिट करें — लॉग और फ़ाइल प्रणाली संकेतकों की समीक्षा करें (नीचे IoC अनुभाग देखें)। यदि आप समझौते का संदेह करते हैं, तो साइट को अलग करें, फोरेंसिक्स के लिए एक बैकअप लें और जांच करें।.
  5. कोड सुधार — यदि आपको हॉटपैच करना है: अविश्वसनीय इनपुट पर unserialize() से बचें; जब उपयुक्त हो तो allowed_classes का उपयोग करें; JSON को प्राथमिकता दें; इनपुट को मान्य और स्वच्छ करें।.
  6. रहस्यों को घुमाएँ — यदि समझौता पुष्टि हो जाता है, तो डेटाबेस क्रेडेंशियल्स, API कुंजी और नमक को घुमाएँ।.

उदाहरण WAF नियम सिफारिशें (वर्चुअल पैचिंग)

लक्षित WAF नियम जो अनुक्रमित वस्तु पैटर्न का पता लगाते हैं, वे आपके अपडेट करने तक शोषण प्रयासों को कम कर सकते हैं। सावधान रहें: अनुक्रमित सामग्री कुछ वातावरण में वैध हो सकती है, इसलिए नियमों को प्लगइन एंडपॉइंट्स या प्रशासनिक AJAX/REST मार्गों तक सीमित करें जहां संभव हो और स्टेजिंग पर परीक्षण करें।.

उदाहरण ModSecurity नियम:

# अनुरोध शरीर/आर्ग्स में बुनियादी अनुक्रमित PHP वस्तु पैटर्न को ब्लॉक करें"

लंबाई थ्रेशोल्ड के साथ अधिक संवेदनशील नियम (झूठे सकारात्मक को कम करें):

SecRule REQUEST_BODY "@rx (O:\d+:\"[A-Za-z0-9_\\\]+\":\d+:{)" \"

Nginx + Lua उदाहरण (Lua मॉड्यूल की आवश्यकता):

local body = ngx.req.get_body_data()

क्लाउड WAF (सामान्य): अनुरोध शरीरों पर regex O:\d+:”[A-Za-z0-9_\\]+”:\d+:{ से मेल खाएं और प्लगइन एंडपॉइंट्स को ब्लॉक या चुनौती दें। यदि शोषण में योगदानकर्ता विशेषाधिकार की आवश्यकता होती है तो नियमों को केवल प्रमाणित अनुरोधों पर लागू करने को प्राथमिकता दें।.

डेवलपर मार्गदर्शन — कोड सुधार जो प्लगइन लेखक को लागू करने चाहिए

  1. कभी भी अविश्वसनीय इनपुट को अनसीरियलाइज़ न करें।. उपयोगकर्ता-नियंत्रित डेटा के लिए serialize/unserialize प्रवाह को json_encode/json_decode से बदलें।.
  2. जब अनिवार्य हो तो allowed_classes का उपयोग करें (PHP 7.0+):
    // असुरक्षित:;
    
  3. क्षमताओं और नॉनसेस की जांच करें:
    if ( ! current_user_can( 'edit_posts' ) ) {
    
  4. इनपुट को साफ और मान्य करें: स्केलर्स या एरेज़ में कास्ट करें; उन फ़ंक्शनों को कच्चा इनपुट पास करने से बचें जो डेटा को अनसिरियलाइज या eval कर सकते हैं।.
  5. रक्षात्मक कोडिंग: लॉगिन किए गए उपयोगकर्ता डेटा को आंशिक रूप से अविश्वसनीय मानें, संदिग्ध इनपुट को लॉग करें, और उन जादुई विधियों से बचें जो उन वर्गों में खतरनाक साइड इफेक्ट्स करती हैं जिन्हें अनसिरियलाइज के माध्यम से इंस्टेंटिएट किया जा सकता है।.

शोषण का पता लगाना और समझौते के संकेत (IoC)

यदि आप शोषण का संदेह करते हैं तो इन संकेतों की जांच करें:

  • अप्रत्याशित प्रशासनिक या उच्च स्तर के उपयोगकर्ता, या नए योगदानकर्ता खाते जिन्हें आप नहीं पहचानते।.
  • असामान्य निर्धारित कार्य (wp_options क्रोन प्रविष्टियाँ) जो आपने नहीं बनाए।.
  • संशोधित कोर, थीम या प्लगइन फ़ाइलें (अप्रत्याशित टाइमस्टैम्प परिवर्तन)।.
  • अपलोड या अन्यत्र वेबशेल फ़ाइलें (eval/base64_decode पैटर्न की तलाश करें)।.
  • साइट से अजीब आउटगोइंग HTTP अनुरोध या असामान्य एक्सेस लॉग पैटर्न।.
  • साइट के व्यवहार में परिवर्तन: रीडायरेक्ट, स्पैम सामग्री इंजेक्शन, या कार्यात्मक विसंगतियाँ।.
  • संदिग्ध डेटाबेस परिवर्तन या पोस्ट/पृष्ठ जिनमें इंजेक्टेड बैकडोर कोड हो।.

निरीक्षण करने के लिए कहाँ:

  • wp_users और wp_usermeta तालिकाएँ
  • एक्सेस लॉग (admin-ajax.php या प्लगइन एंडपॉइंट्स के लिए अनुरोधों की तलाश करें)
  • त्रुटि लॉग (unserialize() प्रयासों से गंभीर त्रुटियाँ)
  • फ़ाइल प्रणाली (अपलोड फ़ोल्डर और प्लगइन/थीम निर्देशिकाएँ)
  • इंजेक्टेड विकल्पों या क्रोन प्रविष्टियों के लिए wp_options

यदि आपको समझौते के सबूत मिलते हैं: साइट को अलग करें, फोरेंसिक बैकअप लें (ओवरराइट न करें), साफ प्री-कंप्रोमाइज बैकअप से पुनर्स्थापना पर विचार करें, सभी क्रेडेंशियल और रहस्यों को बदलें, और बैकडोर हटाने के लिए विस्तृत समीक्षा करें।.

तात्कालिक सुधार से परे हार्डनिंग सिफारिशें

  • न्यूनतम विशेषाधिकार का सिद्धांत: आवश्यक न्यूनतम भूमिका सौंपें। आवश्यक होने पर ही योगदानकर्ता या उच्चतर देने से बचें।.
  • फ़ाइल संपादन अक्षम करें: जोड़ें define('DISALLOW_FILE_EDIT', true); जोड़कर wp-config.php.
  • सॉफ़्टवेयर को अपडेट रखें: वर्डप्रेस कोर, थीम और प्लगइन्स को तुरंत पैच किया जाना चाहिए। स्टेजिंग पर अपडेट का परीक्षण करें।.
  • स्थापित घटकों को न्यूनतम करें: हमले की सतह को कम करने के लिए अप्रयुक्त प्लगइन्स और थीम को हटा दें।.
  • PHP को मजबूत करें: जहां संभव हो, खतरनाक कार्यों को निष्क्रिय करें (exec, shell_exec, system, passthru) और समर्थित PHP संस्करण चलाएँ।.
  • लॉगिंग और निगरानी: सर्वर और एप्लिकेशन लॉग सक्षम करें; विसंगतियों और उपयोगकर्ता-क्रिया लॉग की निगरानी करें।.
  • उपयोगकर्ता पंजीकरण और पासवर्ड नीतियाँ: विशेषाधिकार प्राप्त खातों के लिए मजबूत पासवर्ड और दो-कारक प्रमाणीकरण लागू करें।.
  • बैकअप और पुनर्प्राप्ति योजना: ऑफसाइट बैकअप और एक परीक्षण किया हुआ घटना प्रतिक्रिया योजना बनाए रखें।.

उदाहरण: अनुक्रमित डेटा को सुरक्षित रूप से संभालना

विरासत सीरियलाइज्ड डेटा को प्रोसेस करते समय, एक डिफेंसिव रैपर का उपयोग करें:

function safe_unserialize($data) {
    if (!is_string($data)) {
        return null;
    }

    // Deny any serialized objects entirely
    if (preg_match('/^O:\d+:\"[A-Za-z0-9_\\\\]+\":\d+:{/', $data)) {
        error_log('Denied unserialize attempt containing object');
        return null;
    }

    // Allow array/stdClass only via JSON fallback
    $unserialized = @unserialize($data, ['allowed_classes' => false]);
    if ($unserialized === false && $data !== 'b:0;') {
        // attempt JSON decode fallback
        $decoded = json_decode($data, true);
        return $decoded;
    }

    return $unserialized;
}

यह ऑब्जेक्ट इंस्टेंटिएशन प्रयासों को अस्वीकार करता है, जहां उपयुक्त हो वहां JSON पर वापस जाता है, और समीक्षा के लिए अवरुद्ध प्रयासों को लॉग करता है।.

व्यावहारिक चेकलिस्ट — अब क्या करना है

  1. प्लगइन संस्करण की पुष्टि करें: डैशबोर्ड → प्लगइन्स में, JS आर्काइव सूची संस्करण की पुष्टि करें। यदि ≤ 6.1.7 है, तो तुरंत 6.2.0 में अपग्रेड करें।.
  2. यदि आप तुरंत अपडेट नहीं कर सकते: सीरियलाइज्ड ऑब्जेक्ट पेलोड्स को ब्लॉक करने के लिए लक्षित WAF नियम लागू करें, सार्वजनिक पंजीकरण को अस्थायी रूप से निष्क्रिय करें, और संदिग्ध योगदानकर्ता खातों को क्वारंटाइन करें।.
  3. ऑडिट: उपयोगकर्ताओं की जांच करें, संशोधित फ़ाइलों की समीक्षा करें, और सीरियलाइज्ड पेलोड्स के साथ संदिग्ध POST अनुरोधों के लिए एक्सेस लॉग की जांच करें।.
  4. स्कैन और साफ करें: एक व्यापक मैलवेयर स्कैन करें, संदिग्ध फ़ाइलों की मैन्युअल रूप से जांच करें, और यदि आवश्यक हो तो एक ज्ञात-अच्छे बैकअप से पुनर्स्थापित करें।.
  5. पोस्ट-उपचार: अपनी टीम को क्रेडेंशियल पुन: उपयोग और फ़िशिंग के बारे में शिक्षित करें, मजबूत प्रमाणीकरण लागू करें, और कॉन्फ़िगरेशन को मजबूत करें।.

सामान्य प्रश्न

प्रश्न: मेरी साइट प्लगइन का उपयोग करती है, लेकिन मेरे पास कोई योगदानकर्ता नहीं है। क्या मैं अभी भी संवेदनशील हूं?
उत्तर: रिपोर्ट की गई संवेदनशीलता अधिकांश मामलों में योगदानकर्ता विशेषाधिकार की आवश्यकता होती है। यदि पंजीकरण निष्क्रिय हैं और कोई योगदानकर्ता खाते नहीं हैं, तो जोखिम कम है। हालाँकि, प्लगइन एंडपॉइंट्स अन्य दोषों के माध्यम से पहुँच योग्य हो सकते हैं - अपडेट करना अनुशंसित कार्रवाई बनी हुई है।.

प्रश्न: जंगली में एक शोषण प्रकट होने में कितना समय लगेगा?
उत्तर: सार्वजनिक प्रकटीकरण आमतौर पर तेज़ स्वचालित स्कैनिंग और शोषण प्रयासों को ट्रिगर करता है। सार्वजनिक प्रकटीकरण को तत्काल समझें।.

प्रश्न: क्या मैं WAF पर सभी सीरियलाइज्ड पेलोड्स को सुरक्षित रूप से ब्लॉक कर सकता हूँ?
उत्तर: सभी सीरियलाइज्ड पेलोड्स को ब्लॉक करना प्रभावी है लेकिन वैध उपयोग के लिए झूठे सकारात्मक उत्पन्न कर सकता है। प्लगइन एंडपॉइंट्स के लिए लक्षित नियमों को प्राथमिकता दें या नियमों को प्रमाणित अनुरोध संदर्भों तक सीमित करें और पहले स्टेजिंग पर परीक्षण करें।.

प्रश्न: अगर मुझे समझौते के स्पष्ट सबूत मिलते हैं तो क्या होगा?
उत्तर: साइट को अलग करें, एक फोरेंसिक बैकअप लें, यदि उपलब्ध हो तो एक साफ बैकअप से पुनर्स्थापित करें, क्रेडेंशियल्स और रहस्यों को घुमाएं, और यदि अनिश्चित हैं तो पेशेवर घटना प्रतिक्रिया पर विचार करें।.

वास्तविक दुनिया (गोपनीय) घटना

मैंने एक ग्राहक की सहायता की जहां एक योगदानकर्ता खाते का उपयोग एक सीरियलाइज्ड पेलोड को इंजेक्ट करने के लिए किया गया था जो प्लगइन द्वारा पार्स किया गया था। हमलावर ने अपलोड्स निर्देशिका में एक छोटा PHP फ़ाइल लिखा और इसका उपयोग एक्सेस बढ़ाने के लिए किया। क्योंकि ग्राहक के पास हाल के बैकअप और सक्रिय निगरानी थी, हमने एक साफ बैकअप को पुनर्स्थापित किया, दुर्भावनापूर्ण फ़ाइलों को हटा दिया, क्रेडेंशियल्स को घुमाया और प्लगइन को अपडेट किया। सबक: जल्दी पैच करें और गहराई में रक्षा बनाए रखें - निगरानी और समय पर बैकअप महत्वपूर्ण हैं।.

मालिकों और डेवलपर्स के लिए दीर्घकालिक सिफारिशें

  • सभी unserialize() कॉल को संभावित रूप से खतरनाक मानें और जहां संभव हो JSON में माइग्रेट करें।.
  • एक पैचिंग कैडेंस स्थापित करें और महत्वपूर्ण/उच्च संवेदनशीलताओं को तात्कालिकता के साथ मानें।.
  • प्लगइन सेट को न्यूनतम रखें और खातों के लिए न्यूनतम विशेषाधिकार लागू करें।.
  • पहले स्टेजिंग पर अपडेट चलाएँ और त्वरित रोलबैक प्रक्रियाएँ बनाए रखें।.

अंतिम शब्द — तात्कालिकता महत्वपूर्ण है

PHP ऑब्जेक्ट इंजेक्शन कमजोरियाँ तकनीकी हैं, लेकिन उनके समाधान सरल हैं: प्लगइन को अपडेट करें, पंजीकरण और विशेषाधिकारों को सीमित करें, जहाँ आवश्यक हो वहाँ आभासी पैचिंग लागू करें, और समझौते के संकेतों की जांच करें। कई साइटों का प्रबंधन करने वाले प्रशासकों के लिए, अपडेट कार्यप्रवाह, निगरानी और परीक्षण की गई पुनर्प्राप्ति प्रक्रियाओं को प्राथमिकता दें ताकि एकल कमजोर प्लगइन एक बड़े उल्लंघन का कारण न बने।.

— हांगकांग सुरक्षा विशेषज्ञ


परिशिष्ट: त्वरित संदर्भ आदेश और खोज पैटर्न

  • PHP अनुक्रमित ऑब्जेक्ट पैटर्न (regex) के लिए खोजें: O:\d+:"[A-Za-z0-9_\\]+":\d+: {
  • अनुक्रमित ऑब्जेक्ट के लिए DB खोजें (उदाहरण; अपने वातावरण के अनुसार अनुकूलित करें):
    SELECT * FROM wp_postmeta WHERE meta_value LIKE '%O:%:%:%{\"%';
    (अपने SQL क्लाइंट के लिए एस्केप को समायोजित करें और सावधानी से परीक्षण करें।)
  • ModSecurity नियम उदाहरण:
SecRule REQUEST_BODY|ARGS "@rx O:\d+:\"[A-Za-z0-9_\\\]+\":\d+:{"

उत्पादन में लागू करने से पहले सभी परिवर्तनों का स्टेजिंग पर परीक्षण करें।.

यदि आप अपनी साइट के लिए एक अनुकूलित ModSecurity नियम, 30 मिनट के भीतर चलाने के लिए एक संक्षिप्त ऑडिट चेकलिस्ट, या एक घटना प्रतिक्रिया प्लेबुक चाहते हैं, तो “ऑडिट चेकलिस्ट” या “घटना प्लेबुक” के साथ उत्तर दें और मैं एक केंद्रित मार्गदर्शिका प्रदान करूंगा।.

0 शेयर:
आपको यह भी पसंद आ सकता है