БЕЗОПАСНОСТЬ СЕССИЙ В ВЕБ- ПРИЛОЖЕНИИ: ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ Автор: Катерина Овеченко
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 2
Что такое веб-сессия? Определение веб-сесиии Ее основное назначение “HTTP is a stateless protocol. Sessions make it stateful.” 06.02.2018 / 3
Атрибуты сессии 06.02.2018 / 4 GET http://linzmarket.com.ua:80/linza-contaktnie.html HTTP/1.1 Host : linzmarket.com.ua User-Agent : Mozilla/5.0 (Windows NT 6.2; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0 Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language : en-US,en;q=0.5 Accept-Encoding : gzip, deflate Referer : http://linzmarket.com.ua/index.php?user_details=yes Cookie : PHPSESSID=a2pdlk7jreml0u1m3bccd12551 ; __utma=146251049.781661005.1386340773.1386340773.1386340773.1; __utmb=146251049.4.10.1386340773; __utmc=146251049; __utmz=146251049.1386340773.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) Connection : keep-alive
Сессия vs куки Разница между cookies и session, какую информацию хранит каждый из них 06.02.2018 / 5
Механизмы сессии Перевод таблички 06.02.2018 / 6
Немного статистики… Статистика по уязвимостям веб-приложений Статистика по уязвимостям в веб-сессиях 06.02.2018 / 7
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 8
Session Hijacking 06.02.2018 / 9 Есть несколько способов получения уникального идентификатора сессии: Предсказание идентификатора Атака «Man in the middle» («Человек посередине»); Атака клиентской части (XSS, вредоносный JavaScript код, трояны, etc);
Session Hijacking. Предсказуемые токены Описание нескольких возможностей предсказания уникальных идентификаторов сессии и как обнаружить, что идентификаторы вашей сессии могут быть предугаданы (инструменты анализа). 06.02.2018 / 10
Атака ‘Man in the middle’ Принцип атаки Когда используется Необходимые условия для успешной атаки 06.02.2018 / 11
Атака клиентской части XSS (кратно) Необходимые условия успешной атаки К чему приводит 06.02.2018 / 12
Session Hijacking. Примеры Видео ИЛИ Демонстрация примеры на мастер-классе 06.02.2018 / 13
Session Hijacking. Контрмеры Logout and close the browser should expire session Use cookie to store session ID instead of GET request data Additional identifier: browser fingerprint (hashed user-agent) or unique token Additional identifiers should be propagated in another way than session ID Disable simultaneous logon Текст будет переведен на русский 06.02.2018 / 14
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 15
Session Fixation Apart from stealing a user's session id, the attacker may fix a session id known to him. This is called session fixation. Текст будет переведен на русский 06.02.2018 / 16
Session Fixation. Примеры 06.02.2018 / 17 Видео ИЛИ Демонстрация примеры на мастер-классе
Session Fixation. Контрмеры Assign new session ID after login Check user-specific properties in the session (IP or User-agent) Hard-predictable session IDs Request authentication when user's privilege level changes Disable simultaneous logon Текст будет переведен на русский 06.02.2018 / 18
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 19
Cross-Site Request Forgery 06.02.2018 / 20 Cross-Site Request Forgery (CSRF) is #8 in OWASP top-10 vulnerabilities. The attack succeeds if and only if the user is authenticated. Текст будет переведен на русский
CSRF. Примеры 06.02.2018 / 21 Видео ИЛИ Демонстрация примеры на мастер-классе
CSRF. Контрмеры Use POST instead of GET Request authentication for critical actions Using anti-CSRF token Текст будет переведен на русский 06.02.2018 / 22
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 23
Phishing Принцип атаки Необходимые условия для успешной атаки Инструменты, которые можно использовать 06.02.2018 / 24
Phishing. Примеры 06.02.2018 / 25 Видео ИЛИ Демонстрация примеры на мастер-классе
Phishing. Контрмеры Способы избежать атаки 06.02.2018 / 26
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 27
Инструменты Перечень инструментов, которые могут понадобиться при тестировании веб-сессиий: Плагины в браузерах для работы с cookies Перехватчики (WebScarab, Fiddler) Анализаторы session tokens (Burp) Инструменты для Фишинг атаки 06.02.2018 / 28
Содержание 1. Теория веб-сессий 2. Session Hijacking (Перехват сессии) 3. Session Fixation (Фиксирование сессии) 4. Cross-Site Request Forgery (Подделка межсайтовых запросов) 5. Phishing (Фишинг) 6. Инструменты 7. Заключение 06.02.2018 / 29
Заключение Что узнали - Summary Следующие шаги (что почитать, где попробовать) 06.02.2018 / 30