ݺߣ

ݺߣShare a Scribd company logo
Анализ защищённости веб-
приложений
Омар Ганиев
Летняя школа «Развитие 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 ответе
Спасибо за внимание!
admin@ahack.ru
beched@incsecurity.ru

More Related Content

What's hot (20)

Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компании
SQALab
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
Positive Development User Group
Кто сказал «WAF»?
Кто сказал «WAF»?Кто сказал «WAF»?
Кто сказал «WAF»?
Positive Development User Group
CodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахCodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидах
Sergey Belov
очир абушинов
очир абушиновочир абушинов
очир абушинов
Alexei Lupan
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Positive Development User Group
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасности
SQALab
Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and selenium
Anton Shapin
Безопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применениеБезопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применение
SQALab
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
Positive Hack Days
Услуги PT для банков
Услуги PT для банковУслуги PT для банков
Услуги PT для банков
Dmitry Evteev
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Positive Development User Group
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
Positive Development User Group
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
SEO Conference
Sqa days2010 polazhenko_osstm
Sqa days2010 polazhenko_osstmSqa days2010 polazhenko_osstm
Sqa days2010 polazhenko_osstm
Alexei Lupan
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
Positive Development User Group
Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...
Dmitry Evteev
Практика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструментыПрактика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструменты
Sergey Soldatov
Тестирование безопасности: PHP инъекция
Тестирование безопасности: PHP инъекцияТестирование безопасности: PHP инъекция
Тестирование безопасности: PHP инъекция
SQALab
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компании
SQALab
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
Positive Development User Group
CodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахCodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидах
Sergey Belov
очир абушинов
очир абушиновочир абушинов
очир абушинов
Alexei Lupan
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Positive Development User Group
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасности
SQALab
Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and selenium
Anton Shapin
Безопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применениеБезопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применение
SQALab
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
Positive Hack Days
Услуги PT для банков
Услуги PT для банковУслуги PT для банков
Услуги PT для банков
Dmitry Evteev
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Positive Development User Group
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
Positive Development User Group
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
SEO Conference
Sqa days2010 polazhenko_osstm
Sqa days2010 polazhenko_osstmSqa days2010 polazhenko_osstm
Sqa days2010 polazhenko_osstm
Alexei Lupan
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
Positive Development User Group
Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...
Dmitry Evteev
Практика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструментыПрактика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструменты
Sergey Soldatov
Тестирование безопасности: PHP инъекция
Тестирование безопасности: PHP инъекцияТестирование безопасности: PHP инъекция
Тестирование безопасности: PHP инъекция
SQALab

Similar to Воркшоп по анализ защищённости веб-приложений (20)

Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
yaevents
Анализ защищенности интернет-проектов
Анализ защищенности интернет-проектовАнализ защищенности интернет-проектов
Анализ защищенности интернет-проектов
Dmitry Evteev
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
Alexey Kachalin
Андрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибок
SQALab
Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...
Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...
Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...
Компания УЦСБ
Как оценить пользу от ИБ и увязать с нею инвестиции в безопасность
Как оценить пользу от ИБ и увязать с нею инвестиции в безопасностьКак оценить пользу от ИБ и увязать с нею инвестиции в безопасность
Как оценить пользу от ИБ и увязать с нею инвестиции в безопасность
Vsevolod Shabad
Сколько надо SOC?
Сколько надо SOC?Сколько надо SOC?
Сколько надо SOC?
Sergey Soldatov
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Alexey Kachalin
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
OWASP Russia
Популярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиПопулярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схеми
Avivi Academy
Security as a Service = JSOC
Security as a Service = JSOCSecurity as a Service = JSOC
Security as a Service = JSOC
Solar Security
Константин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныКонстантин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороны
Tatyanazaxarova
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
Positive Hack Days
Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008
guest5b66888
Оценка защищенности Web-приложений
Оценка защищенности Web-приложенийОценка защищенности Web-приложений
Оценка защищенности Web-приложений
SQALab
Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.
Expolink
Применение статического анализа кода в преподавании и в разработке свободного ПО
Применение статического анализа кода в преподавании и в разработке свободного ПОПрименение статического анализа кода в преподавании и в разработке свободного ПО
Применение статического анализа кода в преподавании и в разработке свободного ПО
Andrey Karpov
PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?
Alexey Kachalin
Ломаем (и строим) вместе
Ломаем (и строим) вместеЛомаем (и строим) вместе
Ломаем (и строим) вместе
Dmitry Evteev
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
yaevents
Анализ защищенности интернет-проектов
Анализ защищенности интернет-проектовАнализ защищенности интернет-проектов
Анализ защищенности интернет-проектов
Dmitry Evteev
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
Alexey Kachalin
Андрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибок
SQALab
Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...
Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...
Опыт УЦСБ в области обеспечения информационной безопасности промышленных сист...
Компания УЦСБ
Как оценить пользу от ИБ и увязать с нею инвестиции в безопасность
Как оценить пользу от ИБ и увязать с нею инвестиции в безопасностьКак оценить пользу от ИБ и увязать с нею инвестиции в безопасность
Как оценить пользу от ИБ и увязать с нею инвестиции в безопасность
Vsevolod Shabad
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Alexey Kachalin
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
OWASP Russia
Популярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиПопулярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схеми
Avivi Academy
Security as a Service = JSOC
Security as a Service = JSOCSecurity as a Service = JSOC
Security as a Service = JSOC
Solar Security
Константин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныКонстантин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороны
Tatyanazaxarova
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
Positive Hack Days
Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008
guest5b66888
Оценка защищенности Web-приложений
Оценка защищенности Web-приложенийОценка защищенности Web-приложений
Оценка защищенности Web-приложений
SQALab
Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.
Expolink
Применение статического анализа кода в преподавании и в разработке свободного ПО
Применение статического анализа кода в преподавании и в разработке свободного ПОПрименение статического анализа кода в преподавании и в разработке свободного ПО
Применение статического анализа кода в преподавании и в разработке свободного ПО
Andrey Karpov
PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?
Alexey Kachalin
Ломаем (и строим) вместе
Ломаем (и строим) вместеЛомаем (и строим) вместе
Ломаем (и строим) вместе
Dmitry Evteev

More from beched (6)

Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithms
beched
Hacking as eSports
Hacking as eSportsHacking as eSports
Hacking as eSports
beched
BlackBox testing
BlackBox testingBlackBox testing
BlackBox testing
beched
Find maximum bugs in limited time
Find maximum bugs in limited timeFind maximum bugs in limited time
Find maximum bugs in limited time
beched
Owasp web application security trends
Owasp web application security trendsOwasp web application security trends
Owasp web application security trends
beched
Vulnerabilities in data processing levels
Vulnerabilities in data processing levelsVulnerabilities in data processing levels
Vulnerabilities in data processing levels
beched
Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithms
beched
Hacking as eSports
Hacking as eSportsHacking as eSports
Hacking as eSports
beched
BlackBox testing
BlackBox testingBlackBox testing
BlackBox testing
beched
Find maximum bugs in limited time
Find maximum bugs in limited timeFind maximum bugs in limited time
Find maximum bugs in limited time
beched
Owasp web application security trends
Owasp web application security trendsOwasp web application security trends
Owasp web application security trends
beched
Vulnerabilities in data processing levels
Vulnerabilities in data processing levelsVulnerabilities in data processing levels
Vulnerabilities in data processing levels
beched

Воркшоп по анализ защищённости веб-приложений