Воркшоп по анализ защищённости веб-приложений
DESCRIPTION
Workshop on security analysis of web applications from CTF summer schoolTRANSCRIPT
Анализ защищённости веб-приложений
Омар ГаниевЛетняя школа «Развитие CTF в России»
Дубна, 2014
whoami
• Beched (ahack.ru, @ahack_ru)• Матфак НИУ-ВШЭ• RDot.Org (CTF) team• Анализ защищённости в IncSecurity
План
• Методология тестирования на проникновение веб-приложений
• Модель угроз и нарушителя• WASC, OWASP• ...• Это скучно, и у нас 2 часа, давайте просто
ломать!
И всё же OWASP
• Схематичные шаги по методологии OWASP:• Reconnaissance• Auth testing• Session testing• Input validation testing• Cryptography• Business logic testing• Client-side testing
Реальность
• Low hanging fruits• О, клёвый баг!• “CTF mode” = ON• Вытянем через него все «флаги» и уже потом
будем следовать плану• Рассмотрим некоторые шаги на примерах,
основанных на реальных приложениях
Teaser
• Приложение “Teaser”• Схематичная модель системы контекстной
рекламы, анализирующей каждого пользователя и его интересы
• Угрозы: компрометация сервера, кража данных, раскрытие персональных данных, фишинговые атаки, массовые атаки
Teaser
• Найдём параметры• Найдём имена сценариев• Найдём уязвимости и разработаем
сценарии атаки
Teaser
• Full path disclosure, XSS, DOM based XSS, JSONP hijacking
iBank
• Модель системы Дистанционного Банковского Обслуживания
• Мобильное приложение• Угрозы: кража денег
iBank
• Декомпилируем мобильное приложение• Изучим протокол• Используем криптографические ошибки
iBank
• Padding oracle, hash length extension• Ошибки округления• Ошибки в знаке
Personal cabinet
• Типичный интерфейс авторизации• Восстановление пароля• Угрозы: компрометация аккаунта
Personal cabinet
• Найдём исходный текст веб-приложения• ???
Personal cabinet
• Предсказуемое инициализирующее значение rand()
• Раскрытие данных в HTTP ответе
Спасибо за внимание!
[email protected]@incsecurity.ru