БЕЗОПАСНОСТЬ СЕССИЙ В ВЕБ-
ПРИЛОЖЕНИИ: ПРАКТИЧЕСКОЕ
ПРИМЕНЕНИЕ
Автор: Катерина Овеченко
Содержание
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
Безопасность сессий в веб-приложениях: практическое применение