Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
А НЕ ПОГОВОРИТЬ ЛИ НАМ
О
- 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
Спасибо за внимание 

More Related Content

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

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

Editor's Notes

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