
Демо для CVE-2017-11427
Базовая среда
$ sudo apt-get install libxml2-dev libxslt1-dev
$ sudo apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-openssl
ДЕМО:
$ 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
Учетные записи:
username: user_evil
password: iamuser1
email: [email protected]
username: user_normal
password: iamuser2
email: [email protected]
Анализ уязвимости и практика системы единого входа на основе SAML
Сначала войдите как пользователь user_evil. Используйте Burp для захвата значения поля SAMLResponse.

Выберите Action -> send to repeater, чтобы подготовиться к последующим шагам.
Затем Forward, чтобы пользователь user_evil прошел аутентификацию успешно.

Сначала выполните urldecode для значения поля SAMLResponse, затем удалите символы новой строки и, наконец, выполните декодирование base64. В полученном XML-документе измените emailAddress и Attribute на [email protected]<!-- -->.evil, то есть вставьте комментарий между исходным адресом электронной почты аутентифицированного пользователя [email protected].

Затем закодируйте измененный XML в base64, затем выполните urlencode, замените исходное значение SAMLResponse, получите новую сессию.

Используйте эту новую сессию для входа:

user.email теперь равен [email protected], вход пользователя user_normal выполнен успешно.