3. Структура доклада
1. Особенности мобайл трафика
2. “REST”
3. Структура HTTP запроса / ответа
4. Что такое снифферы
5. Зачем снифферы нужны
6. Почему Burp Suite, чем он отличается от других
7. Практика
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
4. Особенности трафика мобильных приложений
- Нужны тулзы для просмотра
- Очень много разных запросов (сервер, статистика, реклама, etc.) - нужно
фильтровать
- Запросы отсылаются в фоне
- Связь по WiFi/3G/LTE
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
5. Client => SOAP/REST => Server
Application layer via HTTP/HTTPS
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
16. Что такое снифферы
Сниффер - сетевой анализатор трафика,
который пропускает через себя пакеты
и выводит связку запрос-ответ
в читабельном виде
В качестве снифферов используются разные
приложения: Fiddler, Charles Proxy, Burp Suite, TcpCatcher, etc.
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
18. Зачем: мониторинг без вмешательства в данные
Валидация запросов:
- Url
- Заголовки
- Параметры (название/значение)
Валидация ответов:
- Заголовки
- Тело (формат, структура, параметры)
Симуляция time-out
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
19. Зачем: манипуляция данными
Подмена контента в запросе:
● Url,
● Значения параметров,
● Значения заголовков
Подмена контента в ответе:
● Значения параметров,
● Значения заголовков,
● Ссылки на медиа файлы (фото, аудио, видео))
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
20. Позитивные сценарии
● Изменить user status на лету: free/paid, approved/not approved
● Loadmore с произвольным количеством элементов:
○ быстро проверить нагрузку (загрузить много айтемов);
○ проверить отображение конца списка;
○ проверить вызов loadmore на граничных значениях
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
21. Негативные сценарии
● Изменения значений параметров для обхода локальной валидации
● Вызов серверных ошибок для проверки их обработки на клиенте:
○ пустые required fields;
○ ошибочные данные;
○ неверный токен авторизации
● Вызов ошибок в аппе путем подмены ответа от сервера:
○ пустые параметры в ответе;
○ невалидные значения (string вместо int и т.д.);
○ невалидная структура ответа
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
22. Почему Burp?
Плюсы и минусы:
+ Бесплатный
+ Scope
+ Удобный UI
+ Многофункциональный
+ Кроссплатформенный (Java application)
+ Много пользовательских дополнений
- Не позволяет менять параметры соединения
- Бесплатная версия не позволяет сохранить/загрузить сессию (но
позволяет делать экспорт)
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
23. Party time!
Untappd - соц сеть для любителей пива:
- Можно добавлять пиво
- Заводить друзей
- Писать отзывы
Чем полезно:
- Авторизация
- Таблицы
- Картинки
- Понятное API
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
24. Плюсы использования
● Возможность эмулировать тайм-ауты
соединения
● Возможность эмулировать серверные
ошибки
● Возможность манипулировать данными
как в запросе, так и в ответе
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
25. Минусы использования
● Если не выключить прокси когда
выключен сниффер – запросы не
будут работать (фон)
● Увеличивается время на операцию
запрос – ответ
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
26. Краткая инструкция по подключению
iOS:
- WiFi: Settings > Network > HTTP PROXY: Manual, Server (your ip) + Port
- Mobile: custom mobileconfig file (https://iphone.flexserve.net): custom APN
name + Server and Port
Android:
- WiFi:
- Settings > Modify network > Advanced options > Proxy: Manual, Proxy
hostname (your ip) + Proxy port
- ProxyDroid
- Mobile: Settings > Cellular Networks > Access Point Names > edit access
point and set Proxy and Port
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016
27. О чем я умолчал
Как настроить Burp Suite и установить сертификат
Как обойти защиту от MiTM
Тестирование трафика мобильных приложений: кейсы и инструменты @ddr3ams #mobicode2016