несигурен удостоверяване
вие Peped практически насоки за одит на сигурността на уеб приложения с поддръжка на SAML SSO. Single Sign-On - това Tehnologiya, което позволява да влезете в сайт на трета страна уеб приложение chepez (ISP). А SAML - популярна XML протокол за прилагане на SSO. Ние podrobno кажа какво SAML SSO, как работи. Опишете как obrazom персонализирате вашето приложение за работа със SAML IDP. И накрая, rasskazhem най-важното - какви инструменти трябва да ispolzovat Pentest, при наличието на които уязвимости трябва да се провери на заявлението. За XXE, атака chepez трансформация, XPath инжектиране грешка при проверка на подписа, XSW атака, атака zashifrovannye твърдения, и много други. Заповядайте при нас!
Какво е SAML SSO и той се нуждае от zachem?
Single Sign-On (SSO) - технология, която ви позволява да влизате в уеб приложението, чрез доставчик уебсайт на трета страна. Предимствата icpolzovaniya SSO включват следното:
Недостатъците включват следното:
- Един нападател трябва да се научат само една парола, за да получат достъп до множество обсебване името на потребителя.
- Трябва да се доверите на SSO-provayderu, което е "черна кутия". Като правило, vladelets заявление не знае нищо за безопасността на SSO-provaydera: как се съхранява информацията за удостоверяване, който има достъп до Ней, какви действия върши obespecheniya сигурност на SSO-доставчик.
- SSO-доставчик - една точка на неуспех. Ако по някаква ppichinam тя не е на разположение, това ще доведе до nerabotosposobnosti приложение.
- Кодът на страната на заявлението, е отговорен за SSO, - това dopolnitelny източник на уязвимост.
По време на това писание poslednyaya версия на стандарта - SAML, 2.0.
Според стандартната клиента SAML (уеб приложение) и provayder твърденията обмен удостоверяване за удостоверяване (твърдения) чрез XML. А това означава, че SAML се основава на следните стандарти на W3C, свързани с XML:
- Обширна Markup Language - стандарт за XML език;
- XML Schema - Стандарт относно XML-схема;
- XML подпис - Standard, свързани с обработката на цифрови подписи в XML;
- XML Encryption - Standard, otnosyaschiysya за криптиране на данните в XML.
В SAML има много сценарии за прилагане:
- Уеб SSO;
- Умение на базата на разрешение;
- Идентичност федерация;
- WS-Security.
Уеб SSO (или SAML SSO в нашата терминология) - това е най-rasproctranenny yuzkeys за SAML, следователно, най-интересно от гледна точка на безопасността на. НЕМ ние ще се занимаваме днес.
Удостоверяването чрез SAML SSO отнася за три страни:
- autentifikatsii доставчик (SAML доставчик идентичност или SAML ИПР);
- Уеб приложения (доставчик на услуги или SAML SAML SP);
- на потребителя браузър (User Agent).
Потребителски агент удостоверява да sto.pone SAML IDP, а след това да получат достъп до уеб приложението. Уеб prilozhenie надежден доставчик и получава autentifikatsionnuyu информация от него. Страни SAML SSO и техните взаимоотношения са показани на фиг. 1.
Фиг. 1. Страните SAML ДИВ както и взаимоотношенията имКато IDP provaydera може да действа един от онлайн услуги, като например OneLogin, Ping Идентичност, Окта и др. Или можете да razvernut вашия ДУУ, с помощта на софтуер - Шиболет или OpenAM. Помислете стъпките на начина, по който заявлението е удостоверен от доставчика, а след това получава dostup заявлението.
Има две алтернативи за потока SAML SSO: SP-инициирана поток и IDP-инициирана поток. Разликата е, на когото obraschaetsya потребителския агент в началото на процеса - прилагането или към доставчика. Ние rassmotrim SP-инициирана поток, който е представен на фиг. 2.
В първия етап, потребителски агент се отнася до обсебване. Тъй като потребителят не е бил идентифициран, заявление perenapravlyaet браузъра до Доставчика на страницата за удостоверяване на - IDP Вход URL. Този URL отнема Ограждения SAML конфигурация. Когато заявление пренасочване dobavlyaet параметър SAMLRequest в низ на заявката (низ на заявката) а.
Браузърът е отправила искане за такси IDP URL адрес за вход в параметър SAMLRequest. IDP идентифицира потребителя и да пренасочи прави brauzera върнете към приложението (в URL адреса твърдението на потребителите или ACS URL) към параметъра SAML Response в низа на заявката, която съдържа Response кодирано съобщение. Предупрежденията за доклад soderzhatsya отговор (твърдения), които са се регистрирали интернет доставчик (а vozmozhno шифровани). Доставчикът използва ACS URL стойност на конфигурацията на SAML за тази prilozheniya.
Браузърът поиска ACS URL и предава Response SAML като параметър zaprosa. Приложението сканира Response съобщение за подпис и Podpis всеки твърдение (а вероятно и декриптира твърдение). За този сертификат приложение icpolzuet доставчик, който се съхранява в конфигурацията на SAML.
Следваща ПРИЛОЖНА твърдение въз основа на данни създава сесия за потребителя, delaet пренасочва браузъра към страница / секция / профил и поставя бисквитка с идентификационен номер на сесията polzovatelya на.
Фиг. 2. SAML SP-инициирана потокКонфигуриране на SAML SSO в приложение
Щом разберем теорията, prictupim конфигуриране SAML SSO за прилагане по време на изпитването. Ние сме разположени ПРИЛОЖНА, сега имаме нужда от SAML IDP (ISP). Аз предпочитам OneLogin. той populyaren и много приложения подкрепа. Други субсидии OneLogin "полезни комунални услуги, които ще бъдат полезни за вас за тестване на информация за безопасност. Utilities са тук.
Фиг. 3. Създаване на тестова konnektopaПосочете име на съединителя и да натиснете бутона Save.
От страна на нашата молба, отидете в настройките на SAML IDP (фиг. 4). Ние трябва да копирате стойностите Емитент поле, ACS URL, Изход URL. Тези три нас parametra за генериране на заявление и се използват за nastroyki конектор от страна на IDP.
Фиг. 4. Настройки SAML IDP обсебванеПараметрите, които се генерират на корпуса трябва да се премества в конфигурацията на съединителя като pokazano на фиг. 5. Това е, настройката на съединителя е пълна!
Фиг. 5. Създаване на съединителОтидете в раздела SSO. Копиране znacheniya сертификат Х.509, Емитент URL, SAML Крайна точка и крайната точка SLO конфигурация на съединителя в конфигурацията на нашия прилагане (Фиг. 6).
Фиг. 6. Настройки SSOСлед това трябва да създадете потребител в IDP. За да направите това в Idem Потребители → Всички потребители, както е показано на фиг. 7. Щракнете върху бутона Нов потребител.
Фиг. 7. Създаване на потребител от страна на IDPСъздаване на нова polzovatelya, посочете имейл адрес и парола. Отидете в раздела Приложения и изберете skonfiguripovanny контакт конектор (фиг. 8).
Фиг. 8. Направете свързващата polzovatelyaВ нашата молба, ние създаваме polzovatelya същия имейл, защото един куп хора са между IDP и нашето обсебване извършва по електронната поща. В тази обстановка SAML SSO завършена.
Когато ние се опитваме да zaloginitsya в нашата молба, тя ни пренасочва към IDP на страницата за вход - (. Виж konnektora конфигурация в OneLogin) SAML 2.0 крайната точка. След успешно потребителско име на страничната proichodit IDP пренасочва към нашата молба на URL адреса на ACS. Параметърът предава отговора на SAML Response zakodirovannoe в Base64 съобщение (фиг. 9).
Фиг. 9. SAML Response кутия приложениеНие можем да декодира Response. За тази icpolzuem този инструмент (фигура 10):
Фиг. 10. URL декодиранеСлед това, с помощта на тази програма. получаваме отговор за XML, което беше подписано IDP (фиг. 11).
Фиг. 11. Base64 декодиранеАко реакцията SAML се пресова на sto.pone IDP, тогава ще трябва да се използва за декодиране на Base64 Decode + Напомпайте вместо Base64 Decode.
Всичко на този protsecs настройка и отстраняване на грешки SAML SSO завършена. Ние се обръщаме към най-интересното - bagam!
Арсенал да тества SAML SSO
Dannom на сцената имате тествани приложение с работещ SAML SSO. Razberemsya, какви инструменти да се използват за testirovaniya сигурност.