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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
NodeSecurityShield — डेवलपर और सुरक्षा इंजीनियर के अनुकूल पैकेज NodeJS अनुप्रयोगों को सुरक्षित करने के लिए। | Kitploit
उपकरण/GitHubGitHub/domdogsec/nodesecurityshield
रक्षात्मक उपकरणभेद्यता विश्लेषण
GitHubdomdogsec/nodesecurityshield

NodeSecurityShield

डेवलपर और सुरक्षा इंजीनियर के अनुकूल पैकेज NodeJS अनुप्रयोगों को सुरक्षित करने के लिए।

रिपॉजिटरी देखें
297143 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Node Security Shield

Node Security Shield (NSS) एक ओपन सोर्स रनटाइम एप्लिकेशन सेल्फ-प्रोटेक्शन (RASP) टूल है जिसका उद्देश्य NodeJS सुरक्षा में व्यापक अंतर को पाटना है। यह डेवलपर और सुरक्षा इंजीनियर को यह घोषित करने में सक्षम बनाता है कि कोई एप्लिकेशन किन संसाधनों तक पहुँच सकता है।

Log4Shell (CVE-2021-44228) भेद्यता से प्रेरित होकर, जिसका शोषण इसलिए किया जा सकता है क्योंकि कोई एप्लिकेशन मनमाने नेटवर्क कॉल कर सकता है, हमने महसूस किया कि किसी एप्लिकेशन के लिए एक ऐसे तंत्र की आवश्यकता है जिसके द्वारा वह घोषित कर सके कि वह किन विशेषाधिकारों की अनुमति देता है, ताकि अतिरिक्त नियंत्रण लागू करके ऐसी भेद्यताओं के शोषण को कठिन बनाया जा सके।

इसे प्राप्त करने के लिए, NSS (Node Security Shield) में Resource Access Policy (RAP) है।

Resource Access Policy (RAP)

Resource Access Policy CSP (Content Security Policy) के समान है।

यह डेवलपर/सुरक्षा इंजीनियर को यह घोषित करने देता है कि किसी एप्लिकेशन को किन संसाधनों तक पहुँचना चाहिए। और Node Security Shield इसे लागू करेगा।

इंस्टॉलेशन

NodeSecurityShield को npm का उपयोग करके इंस्टॉल करें

npm install nodesecurityshield

उपयोग

// Require Node Security Shield
let nodeSecurityShield = require('nodesecurityshield');

// Enable Attack Monitoring and/or Blocking
nodeSecurityShield.enableAttackMonitoring("Unique-App-Id",resourceAccessPolicy ,callbackFunction);

नमूना resourceAccessPolicy [BASIC]

const resourceAccessPolicy  = {
  "outBoundRequest" : {

      "blockedDomains" : ["compromised.domdog.io"],
    
      "allowedDomains" : []
   },
	"executedCommand": {

        "allowedCommands": ["pwd" , "(node)[](https://github.com/domdogsec/nodesecurityshield/blob/main/helper%5C)[a-z|0-9]*(.js)"]
   }
};
  • outBoundRequest: आउटबाउंड अनुरोधों के लिए स्वीकृत व्यवहार को परिभाषित करता है
    • नोट: blockedDomains को allowedDomains पर प्राथमिकता दी जाती है।
    • अर्थात, अनुरोध पहले blockedDomains के विरुद्ध जाँचे जाते हैं, फिर allowedDomains के विरुद्ध।
  • executedCommand: कमांड निष्पादन के लिए स्वीकृत व्यवहार को परिभाषित करता है
    • allowedCommands सरणी String स्वीकार करती है। कमांड के एक पैटर्न की अनुमति देने के लिए आप RegEx पास कर सकते हैं।
    • डिफ़ॉल्ट व्यवहार सभी कमांड निष्पादन को ब्लॉक करना है। बशर्ते, RAP में executedCommand प्रॉपर्टी परिभाषित हो।
    • जब उपरोक्त RAP का उपयोग किया जाता है,
      • pwd कमांड को निष्पादित करने की अनुमति है और
      • helper के अंदर .js फ़ाइलों को node प्रक्रियाओं के रूप में स्पॉन करने की अनुमति है।
    • नोट: regex में .* के उपयोग से बचें। क्योंकि यह पाइप | के बाद किसी भी कमांड के निष्पादन की अनुमति देगा।

RAP उल्लंघनों को कंसोल में लॉग करने के लिए नमूना callbackFunction

var callbackFunction = function (violationEvent,violations,violationLimitPerMinReached) {
  console.log(JSON.stringify(violationEvent,null, 4));
}
  • violationEvent - RAP उल्लंघन जो हुआ। इसे CSP उल्लंघन के रूप में प्रस्तुत किया गया है।

  • violations - RAP उल्लंघनों की संख्या। हर मिनट शून्य पर रीसेट होता है।

  • violationLimitPerMinReached - सत्य यदि RAP उल्लंघनों की संख्या 'maxViolationsPerMinute' [RAP में एक विकल्प] से अधिक हो जाती है।

  • किसी हमले को ब्लॉक करने के लिए - एक त्रुटि फेंकें

    throw new Error("Request Blocked. It violates declared Resource Access Policy.")
    

नमूना violationEvent

{
    "csp-report": {
        "document-uri": "https://Unique-App-Id",
        "blocked-uri": "https://compromised.domdog.io:443",
        "violated-directive": "connect-src",
        "effective-directive": "connect-src",
        "original-policy": "{\"outBoundRequest\":{\"blockedDomains\":[\"compromised.domdog.io\"],\"allowedDomains\":[]}}",
        "disposition": "report",
        "status-code": 200,
        "script-sample": "",
        "source-file": "Error\n    at TLSSocket.obj.<computed> [as connect] (/mnt/c/Ironwasp/Product/NodeSecurityShield/lib/hook.js:20:25)\n    at Object.connect (_tls_wrap.js:1606:13)\n    at Agent.createConnection (https.js:126:22)\n    at Agent.createSocket (_http_agent.js:273:26)\n    at Agent.addRequest (_http_agent.js:232:10)\n    at new ClientRequest (_http_client.js:302:16)\n    at request (https.js:310:10)\n    at Object.get (https.js:314:15)\n    at /mnt/c/Ironwasp/RD/Node/SimpleVulnerableNode/routes/ssrf.js:19:19\n    at Layer.handle [as handle_request] (/mnt/c/Ironwasp/RD/Node/SimpleVulnerableNode/node_modules/express/lib/router/layer.js:95:5)"
    }
}
  • document-uri: इसमें Unique-App-Id है, जो NSS के आरंभीकरण के दौरान पारित किया गया था
  • blocked-uri: आउटबाउंड अनुरोध का डोमेन जिसने RAP का उल्लंघन किया
  • violated-directive: connect-src आउटबाउंड अनुरोध का पर्याय है, इसी तरह script-src कमांड निष्पादन का पर्याय है
  • original-policy: उल्लंघन की गई Resource Access Policy (RAP)
  • source-file: इस उल्लंघन का स्टैक ट्रेस।

Sentry के साथ एकीकरण

Sentry के साथ एकीकरण के लिए नमूना resourceAccessPolicy

const resourceAccessPolicy  = {
  "outBoundRequest" : {

      "blockedDomains" : ["compromised.domdog.io"],
    
      "allowedDomains" : []
    },
	"executedCommand": {

        "allowedCommands": ["pwd" , "(node)[](https://github.com/domdogsec/nodesecurityshield/blob/main/helper%5C)[a-z|0-9]*(.js)"]
   },
	"reportUri": "https://ingest.sentry.io/api/6011856/security/?sentry_key=",

};
  • outBoundRequest: आउटबाउंड अनुरोधों के लिए स्वीकृत व्यवहार को परिभाषित करता है
    • नोट: blockedDomains को allowedDomains पर प्राथमिकता दी जाती है।
    • अर्थात, अनुरोध पहले blockedDomains के विरुद्ध जाँचे जाते हैं, फिर allowedDomains के विरुद्ध।
  • executedCommand: कमांड निष्पादन के लिए स्वीकृत व्यवहार को परिभाषित करता है
    • allowedCommands सरणी String स्वीकार करती है। कमांड के एक पैटर्न की अनुमति देने के लिए आप RegEx पास कर सकते हैं।
    • डिफ़ॉल्ट व्यवहार सभी कमांड निष्पादन को ब्लॉक करना है। बशर्ते, RAP में executedCommand प्रॉपर्टी परिभाषित हो।
    • जब उपरोक्त RAP का उपयोग किया जाता है,
      • pwd कमांड को निष्पादित करने की अनुमति है और
      • helper के अंदर .js फ़ाइलों को node प्रक्रियाओं के रूप में स्पॉन करने की अनुमति है।
    • नोट: regex में .* के उपयोग से बचें। क्योंकि यह पाइप | के बाद किसी भी कमांड के निष्पादन की अनुमति देगा।
  • reportUri : दिए गए एंडपॉइंट पर उल्लंघन भेजता है। चूंकि उल्लंघन Content Security Policy उल्लंघनों के समान हैं, इसलिए किसी भी CSP मॉनिटरिंग समाधान का उपयोग किया जा सकता है। हमने उपरोक्त RAP में Sentry एंडपॉइंट का उपयोग किया।

Sentry डैशबोर्ड से स्क्रीनशॉट sentry issues sentry issues

नमूना resourceAccessPolicy [Advanced]

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