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) в браузере «жертвы» в контексте уязвимого
приложения
• По вектору- Отраженные либо пассивные 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)