# network हुक: SSRF के लिए URL को स्कोर दें

> कमांड लाइन से सीधे एक या कई फ़ेच डेस्टिनेशन को SSRF के लिहाज़ से स्कोर दें।

कैनोनिकल: https://lagune.ai/hi-IN/docs/hooks/network
भाषा: hi-IN
मूल: https://lagune.ai/docs/hooks/network
आख़िरी अपडेट: 2026-11-06

`network` हुक तय करता है कि सर्वर की ओर से किया जाने वाला कोई फ़ेच डेस्टिनेशन **SSRF** से सुरक्षित है या नहीं (ऐसी रिक्वेस्ट जिसे इंटरनल सर्विस, क्लाउड मेटाडेटा या प्राइवेट होस्ट की ओर मोड़ा जा सकता है)। यही [`network` विशेषज्ञता](https://lagune.ai/hi-IN/docs/catalog) के पीछे का नियतात्मक इंजन है, और आप इसे खुद भी चला सकते हैं।

## चलाएँ

हर डेस्टिनेशन `--url` के साथ दें। हुक हर डेस्टिनेशन के लिए एक शब्द प्रिंट करता है, जिसका मतलब नीचे की टेबल में देखें।

**एक डेस्टिनेशन**

```bash
npx lagune read network --url 'http://example.com/'
# => safe

npx lagune read network --url 'http://0x7f000001/'
# => private-target
```

**कई डेस्टिनेशन**

पूरी अनुमति सूची या ब्लॉक सूची को एक ही कॉल में स्कोर देने के लिए `--url` दोहराएँ। फ़ैसले उसी क्रम में, हर लाइन पर एक, मिलते हैं।

```bash
npx lagune read network \
  --url 'http://example.com/' \
  --url 'http://[::1]/' \
  --url 'http://allowed.com@evil.example/'
# => safe
# => private-target
# => parser-divergent
```

यह होस्ट को ठीक उसी तरह पढ़ता है जैसे नेटवर्क पढ़ता है, इसलिए किसी इंटरनल पते के एनकोड किए गए रूप इसकी पकड़ से नहीं बचते: हेक्स, ऑक्टल, बिना डॉट वाला डेसिमल, छोटा रूप, IPv6 और IPv4-mapped, सभी का फ़ैसला `private-target` आता है। और जहाँ कोई ढीला वैलिडेटर और असली फ़ेच करने वाला कोड अलग-अलग होस्ट पढ़ें, वहाँ फ़ैसला `parser-divergent` आता है।

## फ़ैसला कैसे पढ़ें

| फ़ैसला             | मतलब                                                                                             |
| ------------------ | ------------------------------------------------------------------------------------------------ |
| `safe`             | डेस्टिनेशन किसी पब्लिक होस्ट से जुड़ता है, और कोई ढीला वैलिडेटर भी वही होस्ट पढ़ेगा।             |
| `private-target`   | होस्ट किसी प्राइवेट, लूपबैक, लिंक-लोकल, अनिर्दिष्ट या क्लाउड मेटाडेटा पते पर पहुँचता है।         |
| `parser-divergent` | कोई ढीला टेक्स्ट वैलिडेटर उस होस्ट से अलग असली होस्ट पढ़ेगा, जिससे फ़ेच करने वाला कोड जुड़ता है। |
| `invalid url`      | यह स्ट्रिंग URL के रूप में पार्स नहीं होती, इसलिए फ़ेच करने के लिए कुछ है ही नहीं।               |

सिर्फ़ `safe` का मतलब अनुमति है। `private-target`, `parser-divergent` और `invalid url`, तीनों को ब्लॉक मानें।

### CLI विकल्प

| विकल्प  | मान             | विवरण                                                                            |
| ------- | --------------- | -------------------------------------------------------------------------------- |
| `--url` | एक URL या होस्ट | एक डेस्टिनेशन जाँचें। कई जाँचने के लिए इसे दोहराएँ, हर लाइन पर एक फ़ैसला मिलेगा। |

कम से कम एक `--url` ज़रूरी है। डेस्टिनेशन कभी अकेले पोज़िशनल आर्ग्युमेंट के रूप में नहीं दिया जाता, इसलिए उसे किसी फ़्लैग के रूप में गलत नहीं समझा जा सकता।

**फ़्लैग का मान क्यों**

हर डेस्टिनेशन फ़्लैग के मान के रूप में दिया जाता है, उसे कमांड के अंदर कभी जोड़ा नहीं जाता। कोट या बैकटिक वाला मान भी बेअसर रहता है और शेल में इंजेक्ट नहीं हो सकता। इसे हमेशा सिंगल कोट में रखें, ताकि आपका शेल पहले ही उसे एक्सपैंड न कर दे।

**यह किन चीज़ों को कवर नहीं करता**

हुक पूरी तरह ऑफ़लाइन जाँच करता है और कभी DNS रिज़ॉल्व नहीं करता, इसलिए रनटाइम की दो कमियाँ इसके दायरे से बाहर हैं: **DNS रीबाइंडिंग** (ऐसा नाम जो जाँच के समय पब्लिक पते पर और फ़ेच के समय इंटरनल पते पर पहुँचता है) और **रीडायरेक्ट चेन** (पहला पड़ाव जाँच में पास हो जाता है, फिर अंदर की ओर रीडायरेक्ट करता है)। इन्हें बंद करने के लिए नाम को एक ही बार रिज़ॉल्व करें और जाँचे गए पते से ही जुड़ें, और रीडायरेक्ट को मना कर दें। आरक्षित लूपबैक नामों (`localhost` और `.localhost` परिवार) को यह बिना लुकअप के इंटरनल मान लेता है, लेकिन बाकी हर DNS नाम का फ़ैसला `safe` आता है, क्योंकि यह कहने के लिए कि वह अंदर की ओर पहुँचता है, उसे रिज़ॉल्व करना पड़ेगा: ऐसे नामों की रखवाली अनुमति सूची करती है, और यह चेकर उसी सूची को जाँचता है।

**टिप**

यह वही जाँच है जो [`network` विशेषज्ञता](https://lagune.ai/hi-IN/docs/catalog) यह साबित करने के लिए चलाती है कि डेस्टिनेशन फ़िल्टर कारगर है।

## अक्सर पूछे जाने वाले सवाल

### किसी URL में SSRF का जोखिम है या नहीं, यह कैसे टेस्ट करूँ?

network हुक चलाएँ। यह फ़ेच डेस्टिनेशन को स्कोर देता है और safe, private-target, parser-divergent या invalid url लौटाता है। सिर्फ़ safe का मतलब अनुमति है।

### parser-divergent URL क्या है?

ऐसा URL जिसे अलग-अलग पार्सर अलग-अलग तरह से पढ़ते हैं, जो SSRF से बचने का एक जाना-माना तरीका है। network हुक इसे अनुमति देने के बजाय पकड़ लेता है।
