
एक सरल CORS गलत कॉन्फ़िगरेशन स्कैनर
जेम्स केटल के शोध पर आधारित
CORStest एक त्वरित एवं गंदा Python 3 टूल है जो क्रॉस-ओरिजिन रिसोर्स शेयरिंग (CORS) गलत कॉन्फ़िगरेशन खोजने के लिए है। यह एक टेक्स्ट फ़ाइल को इनपुट के रूप में लेता है जिसमें डोमेन नामों या URL की सूची हो सकती है। वर्तमान में, निम्नलिखित संभावित कमजोरियों का पता एक निश्चित Origin अनुरोध हेडर भेजकर और Access-Control-Allow-Origin प्रतिक्रिया हेडर की जाँच करके लगाया जाता है:
null ऑरिजिन को बाध्य करके किसी भी साइट को पहुँच की अनुमति हैध्यान दें कि ये कमजोरियाँ/गलत कॉन्फ़िगरेशन संदर्भ पर निर्भर हैं। अधिकांश परिदृश्यों में, उनका शोषण केवल एक हमलावर द्वारा तब किया जा सकता है जब Access-Control-Allow-Credentials header मौजूद हो (-q फ्लैग देखें)।
usage: corstest.py [arguments] infile
positional arguments:
infile File with domain or URL list
optional arguments:
-h, --help show this help message and exit
-c name=value Send cookie with all requests
-p processes multiprocessing (default: 32)
-s always force ssl/tls requests
-q quiet, allow-credentials only
-v produce a more verbose output
एलेक्सा की शीर्ष 750 साइटों के लिए गलत कॉन्फ़िगरेशन का पता लगाने के लिए CORStest का उपयोग (Access-Control-Allow-Credentials के साथ):

एलेक्सा शीर्ष 1 मिलियन साइटों पर इस CORStest को चलाने पर निम्नलिखित परिणाम प्राप्त होते हैं:

ध्यान दें कि पूर्ण संख्याएँ काफी कम हैं, क्योंकि परीक्षण की गई 1,000,000 वेबसाइटों में से केवल 3% ने अपने मुख्य पृष्ठ पर CORS सक्षम किया था और गलत कॉन्फ़िगरेशन के लिए विश्लेषण किया जा सका। यह परीक्षण एक सामान्य लाइन (DSL) पर लगभग 14 घंटे तक चला। यदि आपके पास तेज़ इंटरनेट कनेक्शन है, तो समानांतर प्रक्रियाओं की संख्या को -p50 या अधिक तक बढ़ाने का प्रयास करें।
CORS गलत कॉन्फ़िगरेशन के तकनीकी पृष्ठभूमि के बारे में अधिक जानकारी इस बेहतरीन ब्लॉगपोस्ट में पढ़ें या इस वार्ता को देखें। CORStest का उपयोग करके CORS गलत कॉन्फ़िगरेशन का एक बड़े पैमाने पर मूल्यांकन यहाँ प्रलेखित है।