Работа с трафиком в мобильных проектах имеет свою специфику и подводные камни. Используя один из самых функциональных снифферов - Burp Suite, я покажу на реальных примерах, как перехватывать трафик, анализировать содержимое запросов и ответов и модифицировать их под свои нужды. Минимум слайдов, максимум screen sharing'а
3. Структура доклада
1. Особенности мобайл трафика
2. “REST”
3. Структура запроса / ответа
4. Что такое снифферы
5. Зачем снифферы
6. Почему Burp, чем отличается от других
7. Практика
Трафик мобильных приложений: анализ и модификация @ddr3ams
4. Особенности трафика мобильных приложений
- Нужны тулзы для просмотра
- Очень много разных запросов (сервер, статистика, реклама, etc.) - нужно
фильтровать
- Отсылка запросов в фоне
Трафик мобильных приложений: анализ и модификация @ddr3ams
5. Client => SOAP/REST => Server
Application layer via HTTP/HTTPS
Трафик мобильных приложений: анализ и модификация @ddr3ams
15. Что такое снифферы
Сниффер - сетевой анализатор трафика,
который пропускает через себя пакеты
и выводит связку запрос-ответ
в читабельном виде
В качестве снифферов используются разные
приложения: Fiddler, Charles Proxy, Burp Suite, TcpCatcher, etc.
Трафик мобильных приложений: анализ и модификация @ddr3ams
17. Зачем: мониторинг без вмешательства в данные
Валидация запросов:
- Url
- Заголовки
- Параметры (название/значение)
Валидация ответов:
- Заголовки
- Тело (формат, структура, параметры)
Симуляция time-out
Трафик мобильных приложений: анализ и модификация @ddr3ams
18. Зачем: манипуляция данными
Трафик мобильных приложений: анализ и модификация @ddr3ams
Подмена контента в запросе:
● Url,
● Значения параметров,
● Значения заголовков
Подмена контента в ответе:
● Значения параметров,
● Значения заголовков,
● Ссылки на медиа файлы (фото, аудио, видео))
19. Позитивные сценарии
• Изменить user status на лету: free/paid, approved/not approved
• Loadmore с произвольным количеством элементов:
o быстро проверить нагрузку (загрузить много айтемов);
o проверить отображение конца списка;
o проверить вызов loadmore на граничных значениях
Трафик мобильных приложений: анализ и модификация @ddr3ams
20. Негативные сценарии
• Изменения значений параметров для обхода локальной валидации
• Вызов серверных ошибок для проверки их обработки на клиенте:
o пустые required fields;
o ошибочные данные;
o неверный токен авторизации
• Вызов ошибок в аппе путем подмены ответа от сервера:
o пустые параметры в ответе;
o невалидные значения (string вместо int и т.д.);
o невалидная структура ответа
Трафик мобильных приложений: анализ и модификация @ddr3ams
21. Почему Burp?
Плюсы и минусы:
+ Бесплатный
+ Scope
+ Удобный UI
+ Многофункциональный
- Не позволяет менять параметры соединения
- Бесплатная версия не позволяет сохранить/загрузить сессию (но
позволяет делать экспорт)
Трафик мобильных приложений: анализ и модификация @ddr3ams
22. Party time!
Untappd - соц сеть для любителей пива:
- Можно добавлять пиво
- Заводить друзей
- Писать отзывы
Чем полезно:
- Авторизация
- Таблицы
- Картинки
- Понятное API
Трафик мобильных приложений: анализ и модификация @ddr3ams
23. Плюсы использования
• Возможность эмулировать тайм-ауты
соединения
• Возможность эмулировать серверные
ошибки
• Возможность манипулировать данными
как в запросе, так и в ответе
Трафик мобильных приложений: анализ и модификация @ddr3ams
24. Минусы использования
• Если не выключить прокси когда
выключен сниффер – запросы не
будут работать (фон)
• Увеличивается время на
операцию запрос – ответ
Трафик мобильных приложений: анализ и модификация @ddr3ams
25. О чем я умолчал
Как настроить Burp Suite и установить сертификат
Как обойти защиту от MiTM
Трафик мобильных приложений: анализ и модификация @ddr3ams