Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

А не поговорить ли нам о XSS!

1,357 views

Published on

Доклад Юрия Федько на конференции SQA Days-17,
29-30 мая 2015 г., Минск
www.sqadays.com

Published in: Education
  • Be the first to comment

А не поговорить ли нам о XSS!

  1. 1. А НЕ ПОГОВОРИТЬ ЛИ НАМ О
  2. 2. - 82% web-приложений уязвимы к XSS (2013) Page 2 Коротенько о фактах - 7 из 10 web-приложений уязвимы к XSS (2014) - 60% web-приложений уязвимы к XSS (2013) - №3 в OWASP TOP-10 (2013)
  3. 3. • Что такое XSS • XSS – Cross-Site Scripting • Атака на пользователя уязвимого web-приложения Page 3 Поприветствуйте – XSS! • Цель • Выполнить код (JavaScript) в браузере «жертвы» в контексте уязвимого приложения
  4. 4. Page 4 Так как же оно работает? Ссылка со скрытым кодом WWW.SUPERBANK.ORG
  5. 5. • По вектору - Отраженные либо пассивные XSS (Type 1) - Сохраненные или активные XSS (Type 2) - DOM XSS (Type 0) Page 5 Типы XSS • По каналам внедрения - Ошибки в браузерах - Отсутствие проверки вводимых данных - Подмена кодировки страницы
  6. 6. WWW.SUPERBANK.ORG Пассивная XSS Login ******* www.malicious.com Жертва загружает скрипт с сайта Page 6
  7. 7. WWW.SUPERBANK.ORG Page 7 Активная XSS Login ******* www.malicious.com Открывает страницу на которой отображается контент уязвимого поля Сохраняет «активный контент» В уязвимом поле
  8. 8. • Web-страницы изменяющие DOM (Document Object Model) • Тяжело обнаружить Page 8 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. 9. • Кража COOKIES - Кража сессий - Кража персональных данных - Неавторизированный доступ к web- приложению - Потеря репутации Page 9 Как XSS может быть использована • Кража данных из форм - Кража персональных данных - Неавторизированный доступ к web-приложению - Потеря репутации • DDoS-атаки - Потеря репутации • XSS-черви - Кража персональных данных - Неавторизированный доступ к web- приложению - Потеря репутации
  10. 10. XENOTIX - Проект OWASP - Активно разрабатывается - Много-браузерное тестирование - Много-много всего... - Freeware Page 10 Чем искать? XSSF - Metasploit модуль - Консольная утилита - Присутствует web-интерфейс - Создает коммуникационный канал с тестируемым приложением - Freeware BeEF - Мощная среда для тестирования безопасности - Консольная утилита - Присутствует web-интерфейс - Простое иширокое API - Freeware DOMinatorPro - Автоматизация сканирования - Автоматическая проверка на возможность использования найденных уязвимостей - Shareware
  11. 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) Page 11 Как предотвратить? • Проверка на стороне клиента – Использование различных модулей для браузеров (NoScript для FireFox and NotScripts Opera для Chrome)
  12. 12. Page 12 Спасибо за внимание 

×