Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
corsair_scan — स्वचालित CORS गलत कॉन्फ़िगरेशन स्कैनर जो वेब अनुप्रयोगों और API में Origin हेडर इंजेक्शन, वाइल्डकार्ड रिफ्लेक्शन और क्रेडेंशियल लीकेज का परीक्षण करता है। | Kitploit
उपकरण/GitHubGitHub/santandersecurityresearch/corsair_scan
भेद्यता स्कैनरएपीआई सुरक्षा परीक्षणवेब सुरक्षागलत कॉन्फ़िगरेशन
GitHubsantandersecurityresearch/corsair_scan

corsair_scan

स्वचालित CORS गलत कॉन्फ़िगरेशन स्कैनर जो वेब अनुप्रयोगों और API में Origin हेडर इंजेक्शन, वाइल्डकार्ड रिफ्लेक्शन और क्रेडेंशियल लीकेज का परीक्षण करता है।

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

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

सभी देखें →

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

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

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

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

GitHub release Github all releases HitCount Total alerts Language grade: Python MIT license

corsair_scan

स्वागत है Corsair_scan में

Corsair_scan एक सुरक्षा उपकरण है जो क्रॉस-ओरिजिन रिसोर्स शेयरिंग (CORS) के गलत कॉन्फ़िगरेशन का परीक्षण करता है। CORS एक ऐसा तंत्र है जो किसी वेब पेज पर प्रतिबंधित संसाधनों को उस डोमेन के अलावा किसी अन्य डोमेन से अनुरोध करने की अनुमति देता है जहाँ से पहला संसाधन प्रस्तुत किया गया था। यदि इसे ठीक से कॉन्फ़िगर नहीं किया गया है, तो अनधिकृत डोमेन उन संसाधनों तक पहुँच सकते हैं।

CORS क्या है?

CORS एक HTTP-हेडर-आधारित तंत्र है जो एक सर्वर को अपने अलावा किसी अन्य ओरिजिन (डोमेन, स्कीम, या पोर्ट) को इंगित करने की अनुमति देता है जहाँ से एक ब्राउज़र को संसाधनों को लोड करने की अनुमति देनी चाहिए। यह नए HTTP हेडर जोड़कर काम करता है जो सर्वर को यह वर्णन करने देते हैं कि कौन से ओरिजिन को वेब ब्राउज़र से उस जानकारी को पढ़ने की अनुमति है।

CORS एक ऐसे तंत्र पर भी निर्भर करता है जिसके द्वारा ब्राउज़र क्रॉस-ओरिजिन संसाधन को होस्ट करने वाले सर्वर पर एक "प्रीफ़्लाइट" अनुरोध करते हैं, ताकि यह जाँच की जा सके कि सर्वर वास्तविक अनुरोध की अनुमति देगा या नहीं। उस प्रीफ़्लाइट में, ब्राउज़र हेडर भेजता है जो HTTP विधि और हेडर को इंगित करते हैं जो वास्तविक अनुरोध में उपयोग किए जाएँगे।

CORS को लागू करते समय सबसे आम और समस्याग्रस्त सुरक्षा मुद्दा अनुरोधकर्ताओं को मान्य/व्हाइटलिस्ट करने में विफलता है। अक्सर, हम Access-Control-Allow-Origin के लिए मान '*' पर सेट देखते हैं।

दुर्भाग्य से, यह डिफ़ॉल्ट है और इस तरह वेब पर किसी भी डोमेन को उस साइट के संसाधनों तक पहुँचने की अनुमति देता है।

OWASP एप्लिकेशन सुरक्षा सत्यापन मानक (ASVS) के अनुसार, आवश्यकता 14.5.3 में कहा गया है

Verify that the Cross-Origin Resource Sharing (CORS) Access-Control-Allow-Origin header uses a strict allow list of trusted domains and subdomains to match against and does not support the "null" origin.

corsair_scan कैसे काम करता है?

Corsair_scan एक अनुरोध (या अनुरोधों की सूची) को पैरामीटर के रूप में प्राप्त करके और फिर Origin हेडर में एक मान इंजेक्ट करके काम करता है। इस अनुरोध के प्रतिक्रिया में Access-Control-Allow-Origin हेडर की सामग्री के आधार पर, हम यह सुनिश्चित कर सकते हैं कि CORS कॉन्फ़िगरेशन सही है या नहीं। तीन परिदृश्य हैं जो इंगित करते हैं कि CORS गलत कॉन्फ़िगर किया गया है:

  • अनुरोध में भेजी गई नकली ओरिजिन (fake origin) Access-Control-Allow-Origin में प्रतिबिंबित होती है
  • Access-Control-Allow-Origin का मान * है
  • Access-Control-Allow-Origin का मान null है

यदि CORS गलत कॉन्फ़िगर पाया जाता है, तो हम जाँचते हैं कि प्रतिक्रिया में Access-Control-Allow-Credentials हेडर है या नहीं, जिसका अर्थ है कि सर्वर क्रॉस-ओरिजिन अनुरोधों पर क्रेडेंशियल्स को शामिल करने की अनुमति देता है।

अक्सर, CORS कॉन्फ़िगरेशन वाइल्डकार्ड का उपयोग करते हैं, उदाहरण के लिए * example.com * के अंतर्गत कुछ भी स्वीकार करना। इसका मतलब है कि डोमेन domain.com.evil.com स्वीकार किया जाएगा क्योंकि यह दिए गए regex से मेल खाता है। इससे निपटने के लिए, corsair_scan चार परिदृश्यों का परीक्षण करता है:

  • नकली डोमेन इंजेक्शन (Fake domain injection): हम Origin हेडर को https://scarymonster.com पर सेट करते हैं, भले ही मूल अनुरोध में Origin हेडर न हो
  • यदि मूल अनुरोध में Origin हेडर है (स्पष्टता के लिए, मान लें कि यह https://example.com है):
    • प्री-डोमेन इंजेक्शन (Pre-domain injection): हम अपने नकली डोमेन को मूल डोमेन के बाईं ओर जोड़ते हैं। हमारे उदाहरण में, Origin को https://scarymonsterexample.com पर सेट किया जाएगा
    • पोस्ट-डोमेन इंजेक्शन (Post-domain injection): प्री-डोमेन के विपरीत, बस दाईं ओर जोड़ना। Origin https://example.com.scarymonster.com होगा
    • उप-डोमेन इंजेक्शन (Sub-domain injection): कभी-कभी CORS कॉन्फ़िगरेशन किसी दिए गए डोमेन के सभी उप-डोमेन को व्हाइटलिस्ट करता है। हालाँकि यह अपने आप में कोई समस्या नहीं है, यदि डोमेन में से कोई एक XSS के प्रति संवेदनशील है, तो यह एक गंभीर समस्या हो सकती है। इस परिदृश्य में Origin https://scarymonster.example.com होगा

मैं इसे कैसे स्थापित करूँ?

यह प्रोजेक्ट Python 3.9 के साथ विकसित किया गया था, लेकिन Python 3.x के किसी भी संस्करण के साथ काम करना चाहिए। इसे स्थापित करने का सबसे अच्छा तरीका pip का उपयोग करना है।

pip3 install corsair_scan --user

मैं इसका उपयोग कैसे करूँ?

Corsair का उपयोग पायथन मॉड्यूल या CLI दोनों के रूप में किया जा सकता है।

पायथन मॉड्यूल

CORS स्कैन करने वाली विधि corsair_scan है। यहाँ इसकी परिभाषा है:

corsair_scan

अनुरोधों की एक सूची और अनुरोध में प्रमाणपत्र जाँच को सक्षम/अक्षम करने के लिए एक पैरामीटर प्राप्त करता है

इनपुट:

  • data [List]: अनुरोधों की एक सूची। प्रत्येक अनुरोध एक शब्दकोश है जिसमें अनुरोध के लिए प्रासंगिक डेटा होता है:

    • url_data [Dict]: यह एक शब्दकोश है जिसमें अनुरोध के लिए सभी प्रासंगिक डेटा होता है:
      • url [String]: वह url जहाँ अनुरोध भेजा जाता है
      • verb [String]: अनुरोध के लिए क्रिया (get, post, patch, delete, options...)
      • params [String]: अनुरोध में भेजा गया निकाय (यदि कोई हो)
      • headers [Dict]: यह अनुरोध में शामिल सभी हेडर के साथ एक dict है
  • verify [Boolean] [Default: True]: प्रत्येक अनुरोध के लिए यह मान corsair_scan_single_url को भेजता है

आउटपुट:

  • final_report [List]: किए गए परीक्षण के लिए पूर्ण रिपोर्ट शामिल करता है। यदि filter को true पर सेट किया जाता है, तो यह रिपोर्ट में परीक्षण का सारांश भी जोड़ता है।
    • report [List]: किए गए परीक्षण के साथ विस्तृत व्यक्तिगत रिपोर्टों की सूची
    • summary [Dict] : स्कैन में पाई गई समस्याओं का सारांश

उदाहरण

root@kitploit:~
import corsair_scan.corsair_scan as corsair
url_data = {}
data = []
verb =  'GET'
url = 'https://example.com/'
params = 'user=user1&password=1234'
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
           'Accept-Language': 'en-GB,en;q=0.5', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1',
           'Origin': 'https://example.com',
           'Host': 'example.com'}

url_data['verb'] = verb
url_data['url'] = url
url_data['params'] = params
url_data['headers'] = headers
data.append(url_data)

print (corsair.corsair_scan(data, verify=True))

प्रतिक्रिया:

root@kitploit:~
{'report': [{'fake_origin': {'Access-Control-Allow-Origin': 'https://scarymonster.com',
                             'Origin': 'https://scarymonster.com',
                             'credentials': True,
                             'error': False,
                             'misconfigured': True,
                             'status_code': 200},
             'post-domain': {'Access-Control-Allow-Origin': 'https://example.com.scarymonster.com',
                             'Origin': 'https://example.com.scarymonster.com',
                             'credentials': True,
                             'error': False,
                             'misconfigured': True,
                             'status_code': 200},
             'pre-domain': {'Access-Control-Allow-Origin': 'https://scarymonsterexample.com',
                            'Origin': ' https://scarymonsterexample.com',
                            'credentials': True,
                            'error': False,
                            'misconfigured': True,
                            'status_code': 200},
             'sub-domain': {'Access-Control-Allow-Origin': 'https://scarymonster.example.com',
                            'Origin': 'https://scarymonster.example.com',
                            'credentials': True,
                            'error': False,
                            'misconfigured': True,
                            'status_code': 200},
             'url': 'https://example.com/',
             'verb': 'GET'}],
 'summary': {'error': [], 'misconfigured': [{'credentials': True,
                    'misconfigured_test': ['fake_origin',
                                           'sub-domain',
                                           'pre-domain',
                                           'post-domain'],
                    'status_code': 200,
                    'url': 'https://domain.com',
                    'verb': 'GET'}]}}

सीएलआई

pip पैकेज स्थापना के भाग के रूप में, एक CLI स्थापित होता है। निष्पादित करने का सिंटैक्स इस प्रकार है:

corsair FILE [-nv/--noverify][-r/--report]

CLI को स्कैन करने के लिए अनुरोधों की सूची वाली एक json फ़ाइल की आवश्यकता होती है। एक उदाहरण फ़ाइल परीक्षणों के भाग के रूप में प्रदान की गई है

:

root@kitploit:~
[{
  "verb": "GET",
  "url": "https://example.com/",
  "params": "user=user1&password=1234",
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "en-GB,en;q=0.5",
    "Connection": "keep-alive",
    "Upgrade-Insecure-Requests": "1",
    "Origin": "https://example.com",
    "Host": "example.com"
  }
}]

दो वैकल्पिक पैरामीटर भी हैं:

  • -nv / --noverify: प्रमाणपत्र सत्यापन को छोड़ने के लिए, यदि आप स्व-हस्ताक्षरित प्रमाणपत्र वाली साइट के विरुद्ध परीक्षण कर रहे हैं
  • -r / --report: रिपोर्ट को JSON फ़ाइल के रूप में सहेजता है

उदाहरण

CLI report

रोडमैप

  • CLI टूल के रूप में corsair_scan जारी करें ✅
  • टेक्स्ट फ़ाइल से url डेटा पढ़ें ✅
  • रिपोर्ट प्रारूप में सुधार करें

इसके पीछे कौन है?

Corsair_scan को Santander UK की सुरक्षा इंजीनियरिंग टीम द्वारा विकसित किया गया था, जो हैं:

  • David Albone
  • Javier Domínguez Ruiz
  • Fernando Cabrerizo
  • Jonathan Strong
  • James Howieson
टूल डाउनलोड करें