Мобильные аппки — это как школьники на дефконе: шумные, открытые, и вечно забывают, что всё, что они гонят на backend — прозрачное как Wireshark. Разрабы думают: «да кто ж полезет в apk с PlayMarket». Ага, конечно. Каждый второй багхантер первым делом лезет туда за скрытыми endpoints.
Точка входа
Что вижу: кастомный мобильный клиент общается с api.mobilecorp.com
, половину вызовов фронтенд даже не делает. Ну и их «секретный» /v2/internal/*
.
Как поймал: mitmproxy + бургер в руку. Ловлю трафик: фронт просит /feed
, а клиент тихо под капотом шлёт /admin/config
и /beta/features
.
Чем пахнет: жирный IDOR (уровень 7/10) + инфоляпы, иногда до RCE доезжают.
Че почем
Эксплойт:
1 2 |
curl -X GET https://api.mobilecorp.com/v2/internal/beta_features \ -H "Authorization: Bearer user_token_123" |
Ответ: json с флагом "admin_dashboard": true
. Не UI‑фича, а твой билетик в секретный функционал.
Обход защиты: банально подменяешь X-App-Version: 1.0.11-beta
, которую APK жёстко вшивает, — и API радостно отдаёт эндпоинт для «только QA».
Доказательство: кидаешь curl
с любым юзерским токеном → видишь «adminEmail: ceo@company.com». Это не Easter Egg, это подарок судьбы.
Советы:
Три вектора добивания:
• Попробуй fuzz по словарю /v2/internal/wordlist.txt
— там часто живёт /debug
, /config
, /test_payment
.
• Если в apk заметил BuildConfig.API_URL_STAGING
— радуйся. Стаджик часто вообще без auth.
• Заюзай jadx и strings — разработчики всегда забывают выпилить «/payment/refundAll».
План атаки:
1. Снимаем трафик мобилы через mitmproxy и сохраняем HAR.
2. Гоним словарь найденных URL через ffuf:
1 |
ffuf -u https://api.mobilecorp.com/FUZZ -w endpoints.txt -H "Authorization: Bearer token" |
3. Валидируем каждый ответ руками. Одна дырка из «staging» или «beta» — и ты бог KPI на багбаунти.
Вангую баги вендоров
• Эти «секретные» методы без rate-limit. Ставь --repeat 1000
и смотри, как падает сервер.
• JWT токен? Урони его в jwt_tool, проверь режим alg: none
. Да, в 2025 это всё ещё встречается.
• Любимый прикол: мобильный клиент знает /api/exportData.csv
. Пользуйся, пока не закрыли.