
CVE-2017-11427 के लिए डेमो
मूल वातावरण
$ sudo apt-get install libxml2-dev libxslt1-dev
$ sudo apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-openssl
DEMO:
$ git clone https://github.com/CHYbeta/CVE-2017-11427-DEMO.git
$ cd CVE-2017-11427-DEMO
$ source venv/bin/active
$ cd vuln_saml
$ python index.py
खाते:
उपयोगकर्ता नाम: user_evil
पासवर्ड: iamuser1
ईमेल: [email protected]
उपयोगकर्ता नाम: user_normal
पासवर्ड: iamuser2
ईमेल: [email protected]
SAML-आधारित सिंगल साइन-ऑन सिस्टम का भेद्यता विश्लेषण और अभ्यास
पहले उपयोगकर्ता user_evil के रूप में लॉगिन करें। बर्प का उपयोग करके SAMLResponse फ़ील्ड मान को इंटरसेप्ट करें।

Action -> send to repeater चुनें, आगे की तैयारी के लिए।
फिर Forward करें, ताकि उपयोगकर्ता user_evil प्रमाणीकरण सफल हो जाए।

उपरोक्त SAMLResponse फ़ील्ड मान को पहले URL-डिकोड करें, फिर लाइन ब्रेक हटाएं, और अंत में बेस64 डिकोड करें। डिकोड की गई XML फ़ाइल में emailAddress और Attribute को [email protected]<!-- -->.evil में बदलें, यानी मूल रूप से प्रमाणित उपयोगकर्ता के ईमेल [email protected] के बीच एक टिप्पणी डालें।

फिर संशोधित XML को बेस64 एनकोड करें, फिर URL-एनकोड करें, मूल SAMLResponse मान को बदलें, और एक नया सत्र प्राप्त करें।

इस नए सत्र का उपयोग करके लॉगिन करें:

user.email अब [email protected] हो गया है, उपयोगकर्ता user_normal का लॉगिन सफल हुआ।