SlideShare a Scribd company logo
ОТ ПРОСТОГО
К СЛОЖНОМУ
- 82% web-приложений
уязвимы к XSS (2013)
Коротенько о фактах
- 7 из 10 web-приложений
уязвимы к XSS (2014)
- 60% web-приложений
уязвимы к XSS (2013)
- №3 в OWASP TOP-10
(2013)
• Что такое XSS
• XSS – Cross-Site Scripting
• Атака на пользователя уязвимого web-приложения
Поприветствуйте – XSS!
• Цель
• Выполнить код (JavaScript) в браузере «жертвы» в контексте уязвимого
приложения
Так как же оно работает?
Ссылка со скрытым кодом
WWW.SUPERBANK.ORG
• По вектору
- Отраженные либо пассивные XSS (Type 1)
- Сохраненные или активные XSS (Type 2)
- DOM XSS (Type 0)
Типы XSS
• По каналам внедрения
- Ошибки в браузерах
- Отсутствие проверки вводимых данных
- Подмена кодировки страницы
WWW.SUPERBANK.ORG
Пассивная XSS
Login
*******
www.malicious.com
Жертва загружает
скрипт с сайта
WWW.SUPERBANK.ORG
Активная XSS
Login
*******
www.malicious.com
Открывает страницу на
которой отображается
контент уязвимого поля
Сохраняет «активный
контент»
В уязвимом поле
• Web-страницы изменяющие DOM (Document Object Model)
• Тяжело обнаружить
DOM XSS
<body>
<script>document.write(location.href);</script>
</body>
Простейшее HTML DOM-дерево Пример простейшей уязвимой HTML
Как использовать?
http://site.com/test.html#<script>alert(‘xss’);</script>
DOM XSS WiKi
• Кража COOKIES
- Кража сессий
- Кража персональных данных
- Неавторизированный доступ к web- приложению
- Потеря репутации
Как XSS может быть использована
• Кража данных из форм
- Кража персональных данных
- Неавторизированный доступ к web-приложению
- Потеря репутации
• DDoS-атаки
- Потеря репутации
• XSS-черви
- Кража персональных данных
- Неавторизированный доступ к web- приложению
- Потеря репутации
XENOTIX
- Проект OWASP
- Активно разрабатывается
- Много-браузерное тестирование
- Много-много всего...
- Freeware
Чем искать?
XSSF
- Metasploit модуль
- Консольная утилита
- Присутствует web-интерфейс
- Создает коммуникационный канал с тестируемым приложением
- Freeware
BeEF
- Мощная среда для тестирования безопасности
- Консольная утилита
- Присутствует web-интерфейс
- Простое иширокое API
- Freeware
DOMinatorPro
- Автоматизация сканирования
- Автоматическая проверка на возможность
использования найденных уязвимостей
- Shareware
• Проверка на стороне сервера:
• Проверять входящие данные – НЕ ДОВЕРЯТЬ ни чему, что пришло от пользователя (даже Cookies)
• Использовать HttpOnly флаг
• Использовать SSL
• Не хранить конфиденциальные данные в Cookies
• Кодировать HTML-символы, JavaScript, CSS и ссылки.
• Использовать функции фильтрации ( filter_sanitize_encoded, htmlentities,
filter_sanitize_magic_quotes, и др.) для фильтрации входящих данных
• Использовать различные библиотеки для кодирования входящих данных (HTML Purifier or Htmlawed,
PHP Anti-XSS Class, AntiSamy API, XSS-HTML-Filter)
Как предотвратить?
• Проверка на стороне клиента
– Использование различных модулей для браузеров (NoScript для FireFox and NotScripts
Opera для Chrome)
Спасибо за внимание 

More Related Content

PPTX
QA Fest 2015. Татьяна Скрипник. Кросс-браузерность, что ты делаешь?.. Ах-ха-х...
PPTX
Разумная безопасность сайта
PDF
Как обеспечить безопасность клиентских сайтов
PPTX
QA Fes 2016. Анна Карпенко. Специфика тестирования мобильных приложений или к...
PDF
Безопасность Joomla: теория и практика
PDF
Java script и frontend завтра - Kharkiv JS 2013
PPT
JavaScript и доступность web-сайтов
PDF
4.3. Rat races conditions
QA Fest 2015. Татьяна Скрипник. Кросс-браузерность, что ты делаешь?.. Ах-ха-х...
Разумная безопасность сайта
Как обеспечить безопасность клиентских сайтов
QA Fes 2016. Анна Карпенко. Специфика тестирования мобильных приложений или к...
Безопасность Joomla: теория и практика
Java script и frontend завтра - Kharkiv JS 2013
JavaScript и доступность web-сайтов
4.3. Rat races conditions

What's hot (19)

PDF
Выбор CMS для вашего сайта
PPT
Coding for iPhone
PDF
Бекэнд для push-уведомлений своими руками
PPT
Сколько стоят хорошие сайты
PDF
Грабли в продвижении сайтов - КИМ, 22 сентября 2012
PPTX
Chrome push notifications. Анатомия и разработка
PPTX
Отказоустойчивость веб-проекта: мониторинг, резервирование, обслуживание
PDF
Оптимизация скорости сайта без использования AMP | Odessa Frontend Meetup #10
PDF
Coding monday
PDF
Подготовка интернет-магазина к боевым условиям
PPT
Защита
PDF
Урок 7. Сайты отзывов
PPTX
Безопасность WordPress
PPTX
Инструменты видео-рекламы
PDF
Безопасный сайт
PDF
Kazoomeetup 2015 - Building your very own Kazoo UI
PPT
Drupal и мобильные устройства комелин константин
PPT
Drupal и мобильные устройства
PPT
ярослав рабоволюк
Выбор CMS для вашего сайта
Coding for iPhone
Бекэнд для push-уведомлений своими руками
Сколько стоят хорошие сайты
Грабли в продвижении сайтов - КИМ, 22 сентября 2012
Chrome push notifications. Анатомия и разработка
Отказоустойчивость веб-проекта: мониторинг, резервирование, обслуживание
Оптимизация скорости сайта без использования AMP | Odessa Frontend Meetup #10
Coding monday
Подготовка интернет-магазина к боевым условиям
Защита
Урок 7. Сайты отзывов
Безопасность WordPress
Инструменты видео-рекламы
Безопасный сайт
Kazoomeetup 2015 - Building your very own Kazoo UI
Drupal и мобильные устройства комелин константин
Drupal и мобильные устройства
ярослав рабоволюк
Ad

Similar to QA Fest 2015. Юрий Федько. XSS - от простого к сложному! (20)

PPTX
А не поговорить ли нам о XSS!
PDF
Risspa domxss
PDF
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
PPTX
Безопасность Joomla: мифы и реальность
PDF
Web application security (RIT 2014, rus)
PDF
Максим Кочкин (Wamba)
PPTX
Svyatoslav Login
PPTX
Информационная безопасность в аспекте веб-разработки
PPTX
Эшелонированная оборона 2012
PPT
Анализ защищенности интернет-проектов
PDF
Александр Сидоров "Как защитить пользователей от вирусов и фишинга"
PDF
Node.js Меньше сложности, больше надежности Holy.js 2021
PDF
как не заразить посетителей своего сайта All а.сидоров, п.волков
PPTX
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
PPTX
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
PPTX
Эволюция атак на веб приложения (Evolution of web applications attacks)
PPTX
Современный агрессивный интернет
PPT
Sergey Gordeychik SQADays 2008
PPT
Оценка защищенности Web-приложений
PDF
Популярні способи зломів та шахрайські схеми
А не поговорить ли нам о XSS!
Risspa domxss
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
Безопасность Joomla: мифы и реальность
Web application security (RIT 2014, rus)
Максим Кочкин (Wamba)
Svyatoslav Login
Информационная безопасность в аспекте веб-разработки
Эшелонированная оборона 2012
Анализ защищенности интернет-проектов
Александр Сидоров "Как защитить пользователей от вирусов и фишинга"
Node.js Меньше сложности, больше надежности Holy.js 2021
как не заразить посетителей своего сайта All а.сидоров, п.волков
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Эволюция атак на веб приложения (Evolution of web applications attacks)
Современный агрессивный интернет
Sergey Gordeychik SQADays 2008
Оценка защищенности Web-приложений
Популярні способи зломів та шахрайські схеми
Ad

More from QAFest (20)

PDF
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
PPTX
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
PPTX
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
PDF
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
PDF
QA Fest 2019. Никита Галкин. Как зарабатывать больше
PDF
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
PDF
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
PPTX
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
PPTX
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
PDF
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
PPTX
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
PDF
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
PPTX
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
PDF
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
PDF
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
PDF
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
PPTX
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
PPTX
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
PDF
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
PPTX
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22

QA Fest 2015. Юрий Федько. XSS - от простого к сложному!

  • 2. - 82% web-приложений уязвимы к XSS (2013) Коротенько о фактах - 7 из 10 web-приложений уязвимы к XSS (2014) - 60% web-приложений уязвимы к XSS (2013) - №3 в OWASP TOP-10 (2013)
  • 3. • Что такое XSS • XSS – Cross-Site Scripting • Атака на пользователя уязвимого web-приложения Поприветствуйте – XSS! • Цель • Выполнить код (JavaScript) в браузере «жертвы» в контексте уязвимого приложения
  • 4. Так как же оно работает? Ссылка со скрытым кодом WWW.SUPERBANK.ORG
  • 5. • По вектору - Отраженные либо пассивные XSS (Type 1) - Сохраненные или активные XSS (Type 2) - DOM XSS (Type 0) Типы XSS • По каналам внедрения - Ошибки в браузерах - Отсутствие проверки вводимых данных - Подмена кодировки страницы
  • 7. WWW.SUPERBANK.ORG Активная XSS Login ******* www.malicious.com Открывает страницу на которой отображается контент уязвимого поля Сохраняет «активный контент» В уязвимом поле
  • 8. • Web-страницы изменяющие DOM (Document Object Model) • Тяжело обнаружить DOM XSS <body> <script>document.write(location.href);</script> </body> Простейшее HTML DOM-дерево Пример простейшей уязвимой HTML Как использовать? http://site.com/test.html#<script>alert(‘xss’);</script> DOM XSS WiKi
  • 9. • Кража COOKIES - Кража сессий - Кража персональных данных - Неавторизированный доступ к web- приложению - Потеря репутации Как XSS может быть использована • Кража данных из форм - Кража персональных данных - Неавторизированный доступ к web-приложению - Потеря репутации • DDoS-атаки - Потеря репутации • XSS-черви - Кража персональных данных - Неавторизированный доступ к web- приложению - Потеря репутации
  • 10. XENOTIX - Проект OWASP - Активно разрабатывается - Много-браузерное тестирование - Много-много всего... - Freeware Чем искать? XSSF - Metasploit модуль - Консольная утилита - Присутствует web-интерфейс - Создает коммуникационный канал с тестируемым приложением - Freeware BeEF - Мощная среда для тестирования безопасности - Консольная утилита - Присутствует web-интерфейс - Простое иширокое API - Freeware DOMinatorPro - Автоматизация сканирования - Автоматическая проверка на возможность использования найденных уязвимостей - Shareware
  • 11. • Проверка на стороне сервера: • Проверять входящие данные – НЕ ДОВЕРЯТЬ ни чему, что пришло от пользователя (даже Cookies) • Использовать HttpOnly флаг • Использовать SSL • Не хранить конфиденциальные данные в Cookies • Кодировать HTML-символы, JavaScript, CSS и ссылки. • Использовать функции фильтрации ( filter_sanitize_encoded, htmlentities, filter_sanitize_magic_quotes, и др.) для фильтрации входящих данных • Использовать различные библиотеки для кодирования входящих данных (HTML Purifier or Htmlawed, PHP Anti-XSS Class, AntiSamy API, XSS-HTML-Filter) Как предотвратить? • Проверка на стороне клиента – Использование различных модулей для браузеров (NoScript для FireFox and NotScripts Opera для Chrome)

Editor's Notes

  • #2: Спасибо, что присоединились… Как раз отличное время поспать после обеденного перерыва (регламентированное время около часа – как раз выспитесь… ) Почему именно об ХСС 1) атака, которая помогла нам провернуть взлом в нашем первом проекте 2) на первый взгляд она кажется плевой задачкой, однако копнув глубже, понимаешь – не все так просто…. 3) XSS – весьма специфическая атака требующая выполнения определенных условий 3) ну и количество веб-приложений (сайтов), уязвимых к этой атаке пугающе велико…
  • #3: Trustware – одна из компаний-лидеров на рынке безопасности ИТ. Имеет громадное количество клиентов, как в гос секторах, военных организациях, так и в коммерческом секторе. Только за прошлый год – около 9 млн проверенных вэб приложений и 2 млн. сетей. WhiteHat Secotury – Калифорнийская компания, организована в 2001м, около 600 клиентов в США (финансовый сектор, банки страхование) Сenzic – секурити компания, которая обслуживает практически все компании из списка Fortune 1000 companies (AT&T, Apple, Wal-Mart Stores, General Motors…) C 2014 – часть Trustware OWASP – международное сообщество
  • #4: Х поставили, чтобы не путать название атаки с технологией CSS Почему атака – потому что один и тот же код уязвим к разным типам атак
  • #9: В чем суть? 1) из далека - HTML в браузере представляется как раз в виде ДОМ 2) из JavaScript есть возможность манипулирования структурой и данными 3) А раз так, то иногда, когда не ведется фильтрация данных, мы, модифицируя ДОМ сайта можем добиться выполнение JavaScripta в контексте уязвимого сайта