Содержание
- 2. Структура курса Основные принципы компроментации Уязвимости серверной части Уязвимости клиентской части SOAP API и JSON API.
- 3. Занятие 1 Основные принципы компроментации веб-приложений
- 4. План занятия Основы тестирования защищенности Что тестируем? Почему это проблема? Защищенность веб-приложений Протокол HTTP
- 5. ТЗ: Что тестируем?
- 6. ГОСТ Р ИСО/МЭК 9126-93 Функциональность Надежность Практичность (удобство) Эффективность Сопровождаемость Мобильность
- 7. ГОСТ Р ИСО/МЭК 9126-93 Функциональность Пригодность для применения Корректность (правильность, точность) Способность к взаимодействию Защищенность
- 8. Куда вставить частицу НЕ? качественная программа: делает то, что должна делать НЕкачественная программа: НЕ делает то,
- 9. Про это НЕ пишут в спецификации Пользователь с ролью “user” может менять свои личные данные Пользователь
- 10. Более формальное определение Нарушение функциональности: НЕвозможность получения санкционированного доступа к функциям и данным системы Нарушение защищенности:
- 11. Почему это проблема?
- 12. Почему это проблема? Несанкционированный доступ к данным: чтение данных модификация данных разрушение данных Несанкционированный доступ к
- 13. Предположим…
- 14. Чтение данных Конкуренты узнали телефоны ваших клиентов, сделали им предложение, клиенты решили сменить поставщика Конкуренты получают
- 15. Модификация данных Конкуренты меняют телефоны и адреса ваших клиентов, вы не можете с ними связаться Конкуренты
- 16. Разрушение данных Хорошо, если есть резервная копия…
- 17. Модификация системы Внедрение вирусов и «троянов» Создание помех в работе системы функциональные неточности снижение производительности Использование
- 18. Разрушение системы Хорошо, если есть резервная копия…
- 19. Более формальное определение Нарушение функциональности: НЕвозможность получения санкционированного доступа к функциям и данным системы Нарушение защищенности:
- 20. Способы доступа к системе Предусмотренные спецификацией зона функционального тестирования НЕ предусмотренные спецификацией зона тестирования защищенности
- 21. Немного терминологии Уязвимость непредусмотренный спецификацией способ доступа к функциям или данным системы Атака действия, нацеленные на
- 22. Тестировщик – не «хакер»! Нет злого умысла Достаточно найти потенциальные уязвимости, не требуется их эксплуатация
- 23. Статья 272 УК РФ Статья 272. Неправомерный доступ к компьютерной информации 1. Неправомерный доступ к охраняемой
- 24. Уязвимости веб-приложений
- 25. Способы доступа к системе Предусмотренные спецификацией зона функционального тестирования НЕ предусмотренные спецификацией зона тестирования защищенности
- 26. Как искать «непредусмотренное»?
- 27. Каталоги уязвимостей OWASP The Open Web Application Security Project https://www.owasp.org/ CWE Common Weakness Enumeration http://cwe.mitre.org/
- 28. Каталоги уязвимостей OWASP Top 10 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project CWE/SANS Top 25 http://cwe.mitre.org/top25/
- 29. Что можно атаковать? Браузер Операционная система Код приложения (HTML, CSS, JS, Flash, …) Плагины, аддоны Операционная
- 30. Что должно быть защищено? ВСЁ!!!
- 31. Что можно атаковать? Браузер Операционная система Код приложения (HTML, CSS, JS, Flash, …) Плагины, аддоны Операционная
- 32. Что можно атаковать? Клиент Сервер Сеть Человек
- 33. Способы поиска Ищем признаки наличия уязвимости основная работа тестировщика Ищем способ эксплуатации необязательная часть для тестировщика
- 34. Инструменты Сканеры уязвимостей, действующие по принципу «чёрного ящика» Сканеры кода, действующие по принципу «прозрачного ящика» преимущество
- 35. Протокол HTTP (HyperText Transfer Protocol)
- 36. Клиент и Сервер Клиент отправляет запросы Сервер обрабатывает («обслуживает») запросы
- 37. Запрос-ответ
- 38. Запрос-ответ
- 39. Протокол HTTP Текстовый Расширяемый Синхронный Stateless Незащищенный HTTPS с шифрованием
- 40. Коды ответов 1** – информационный 2** – успех 3** – перенаправление 4** – ошибка клиента 5**
- 41. Как это увидеть? Dev Tools Firebug Fiddler
- 42. Как это «сломать»? Браузер СУБД Операционная система Веб-сервер + сервер логики (X)HTTP(S) SQL команды файлы Всё,
- 43. Виды запросов GET – параметры в строке адреса POST – параметры в теле запроса HEAD TRACE
- 44. GET-запрос GET http://yandex.ru/yandsearch?text=security&lr=213 HTTP/1.1 Host: yandex.ru Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.16 (KHTML, like
- 45. Как отправить GET-запрос? Адресная строка браузера
- 46. POST-запрос POST http://www.tarifer.ru/calculator HTTP/1.1 Host: www.tarifer.ru Content-Length: 275 Origin: http://tarifer.ru User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.16
- 47. Как отправить POST-запрос? Заполнить форму валидаторы и модификаторы данных Преобразовать POST в GET Сделать макет формы
- 48. А ещё можно менять заголовок URL, его отдельные части Дополнительные поля Cookies Языковые настройки
- 49. Домашнее задание Научиться отправлять модифицированные запросы с помощью: макета страницы Tamper Data Fiddler
- 51. Скачать презентацию