12
А НЕ ПОГОВОРИТЬ ЛИ НАМ О

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

  • Upload
    sqalab

  • View
    246

  • Download
    3

Embed Size (px)

Citation preview

А НЕ ПОГОВОРИТЬ ЛИ НАМ О

- 82% web-приложений уязвимы к XSS (2013)

Page 2

Коротенько о фактах

- 7 из 10 web-приложений уязвимы к XSS (2014)

- 60% web-приложений уязвимы к XSS (2013)

- №3 в OWASP TOP-10 (2013)

• Что такое XSS• XSS – Cross-Site Scripting• Атака на пользователя уязвимого web-приложения

Page 3

Поприветствуйте – XSS!

• Цель• Выполнить код (JavaScript) в браузере «жертвы» в контексте уязвимого

приложения

Page 4

Так как же оно работает?

Ссылка со скрытым кодом

Персональные данные

WWW.SUPERBANK.ORG

• По вектору- Отраженные либо пассивные XSS (Type 1)- Сохраненные или активные XSS (Type 2)- DOM XSS (Type 0)

Page 5

Типы XSS

• По каналам внедрения- Ошибки в браузерах- Отсутствие проверки вводимых данных- Подмена кодировки страницы

WWW.SUPERBANK.ORG

Пассивная XSS

Login*******

www.malicious.com

Жертва загружаетскрипт с сайта

Page 6

WWW.SUPERBANK.ORG

Page 7

Активная XSS

Login*******

www.malicious.com

Открывает страницу на которой отображается контент уязвимого поля

Сохраняет «активный контент»В уязвимом поле

"Жертва", н

е осознавая, запускает "активное содержимое" у

язвимого поля

• 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

• Кража COOKIES- Кража сессий- Кража персональных данных- Неавторизированный доступ к web- приложению- Потеря репутации

Page 9

Как XSS может быть использована

• Кража данных из форм- Кража персональных данных- Неавторизированный доступ к web-приложению- Потеря репутации

• DDoS-атаки- Потеря репутации

• XSS-черви- Кража персональных данных- Неавторизированный доступ к web- приложению- Потеря репутации

XENOTIX- Проект OWASP- Активно разрабатывается- Много-браузерное тестирование- Много-много всего...- Freeware

Page 10

Чем искать?

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)

Page 11

Как предотвратить?

• Проверка на стороне клиента– Использование различных модулей для браузеров (NoScript для FireFox and NotScripts Opera для

Chrome)

Page 12

Спасибо за внимание