blog of morioka12

morioka12のブログ (Security Blog)

バグバウンティにおけるモバイルアプリの脆弱性報告の事例まとめ

1. 始めに

こんにちは、morioka12 です。

本稿では、バグバウンティにおけるモバイルアプリケーションの脆弱性報告の事例についてまとめて紹介します。


免責事項

本稿の内容は、セキュリティに関する知見を広く共有する目的で執筆されており、悪用行為を推奨するものではありません。

想定読者

  • セキュリティ初学者・学生
    • 特に Mobile Security に興味がある方
  • モバイルアプリケーションの開発者
  • バグバウンティに興味がある方
  • (脆弱性調査をしている方)


2. Mobile Security Top 10

OWASP Mobile Top 10 2023 (初期リリース)

  1. 不適切な資格情報の利用
  2. 不十分なサプライチェーンセキュリティ
  3. 安全でない認証・承認
  4. 不十分な入出力の検証
  5. 安全でない通信
  6. 不十分なプライバシー管理
  7. 不十分なバイナリ保護
  8. セキュリティ設定の不備
  9. 安全でないデータ管理
  10. 不十分な暗号化

owasp.org

coky-t.gitbook.io


JSSEC Mobile Top 10 2023

  1. プラットフォームの不適切な利用
  2. 不適切なクレデンシャルの利用
  3. クライアントコードの品質と安全性
  4. 安全でない通信
  5. 安全でない認証
  6. 不十分な暗号化
  7. 安全でない認可制御
  8. コード改ざん
  9. 安全でないデータストレージ
  10. 余計な機能

www.jssec.org

https://www.jssec.org/wp-content/uploads/20230301-jssec-mobile-top10.pdf


3. 脆弱性報告の事例

バグバウンティにおいて、モバイルアプリケーションは、主に以下にようなタイプ(Asset Type)で提供されます。


XSS (Cross-site Scripting)

  • Android WebViews in Twitter app are vulnerable to UXSS due to configuration and CVE-2020-6506
    • Bounty: $560

hackerone.com

  • Blind Stored XSS on iOS App due to Unsanitized Webview
    • Bounty: $100

hackerone.com

  • [Grab Android/iOS] Insecure deeplink leads to sensitive information disclosure

hackerone.com

hackerone.com

  • UXss on brave browser via scan QR Code
    • Bounty: $500

hackerone.com

  • XSS via message subject - mobile application

hackerone.com

  • [Android] HTML Injection in BatterySaveArticleRenderer WebView
    • Bounty: $150

hackerone.com

hackerone.com


SQL Injection

  • GitHub Security Lab (GHSL) Vulnerability Report: SQLInjection in FileContentProvider.kt (GHSL-2022-059)
    • Bounty: $300

hackerone.com

  • SQL Injection found in NextCloud Android App Content Provider
    • Bounty: $150

https://hackerone.com/reports/291764hackerone.com

  • Local SQL Injection in Content Provider (ru.mail.data.contact.ContactsProvider) of Mail.ru for Android, version 12.2.0.29734

hackerone.com

  • SQLi allow query restriction bypass on exposed FileContentProvider
    • Bounty: $100

hackerone.com


CSRF (Cross-site Request Forgery)

  • Periscope iOS app CSRF in follow action due to deeplink
    • Bounty: $2,940

hackerone.com

hackerone.com

  • CSRF when unlocking lenses leads to lenses being forcefully installed without user interaction
    • $250

hackerone.com

  • Periscope android app deeplink leads to CSRF in follow action

hackerone.com


Path Traversal

  • Path Traversal в iOS приложении

hackerone.com

  • Path traversal in ZIP extract routine on LINE Android
    • Bounty: $475

hackerone.com

hackerone.com

  • Path traversal allows tricking the Talk Android app into writing files into it's root directory

hackerone.com

  • Path traversal allows tricking the Talk Android app into writing files into it's root directory

hackerone.com

  • Access to arbitrary file of the Nextcloud Android app from within the Nextcloud Android app
    • Bounty: $250

hackerone.com

  • Download attachments with traversal path into any sdcard directory (incomplete fix 106097)

hackerone.com


Improper Access Control

  • Default Nextcloud Server and Android Client leak sharee searches to Nextcloud
    • Bounty: $750

hackerone.com

  • Webview in LINE client for iOS will render application/octet-stream files as HTML
    • Bounty: $500

hackerone.com

  • Talk Android broadcast receiver is not protected by broadcastPermission allowing malicious apps to communicate

hackerone.com

  • Theft of arbitrary files in LINE Lite client for Android

hackerone.com

  • 1 click Account takeover via deeplink in [com.kayak.android]

hackerone.com

  • Sensitive files/ data exists post deletion of user account
    • Bounty: $150

hackerone.com


IDOR (Insecure Direct Object Reference)

  • read new emails from any inbox IOS APP in notification center

hackerone.com

  • IDOR for changing privacy settings on any memories

hackerone.com

  • Business Suite "Get Leads" Resulting in Revealing User Email & Phone

hackerone.com


Improper Authentication

  • Bypass of biometrics security functionality is possible in Android application (com.shopify.mobile)
    • Bounty: $500

hackerone.com

  • Weak user aunthentication on mobile application - I just broken userKey secret password
    • Bounty: $5,000

hackerone.com

  • App pin of the Android app can be bypassed via 3rdparty apps generating deep links
    • Bounty: $150

hackerone.com

  • Able to steal bearer token from deep link
    • Bounty: $6,337

hackerone.com

  • Two-factor authentication bypass on Grab Android App

hackerone.com

  • Authorization bypass using login by phone option+horizontal escalation possible on Grab Android App

hackerone.com

  • Bypassing lock protection
    • Bounty: $50

hackerone.com

  • Vine - overwrite account associated with email via android application

hackerone.com


Privilege Escalation

hackerone.com

hackerone.com

  • Android MailRu Email: Thirdparty can access private data files with small user interaction

hackerone.com


Information Disclosure

  • AWS bucket leading to iOS test build code and configuration exposure
    • Bounty: $1,500

hackerone.com

  • Possible to steal any protected files on Android
    • Bounty: $750

hackerone.com

  • Android content provider exposes password-protected share password hashes
    • Bounty: $75

hackerone.com

  • Notification implicit PendingIntent in com.nextcloud.client allows to access contacts
    • Bounty: $250

hackerone.com

hackerone.com

  • [Quora Android] Possible to steal arbitrary files from mobile device

hackerone.com

  • Extremly simple way to bypass Nextcloud-Client PIN/Fingerprint lock

hackerone.com


Information Exposure Through Debug Information

  • Grammarly Keyboard for Android <4.1 leaks user input through logs (except for sensitive input fields)

hackerone.com

  • Stealing Private Information in VK Android App through PlayerProxy Port Remotely

hackerone.com

hackerone.com


Use of Hard-coded Credentials

  • [█████████] Hardcoded credentials in Android App
    • Bounty: $500

hackerone.com

  • Hardcoded credentials in Android App

hackerone.com

  • Disclosure of all uploads to Cloudinary via hardcoded api secret in Android app

hackerone.com


Improper Export of Android Application Components

hackerone.com

  • Launch Any Activity in MyMail App

hackerone.com


DoS

  • url that twitter mobile site can not load
    • Bounty: $1,120

hackerone.com

  • iOS group chat denial of service
    • Bounty: $300

hackerone.com

  • DoS of LINE client for Android via message containing multiple unicode characters (0x0e & 0x0f)

hackerone.com

  • iOS app crashed by specially crafted direct message reactions
    • Bounty: $560

hackerone.com

  • DoS in Brave browser for iOS
    • Bounty: $80

https://hackerone.com/reports/357665hackerone.com


Privacy Violation

  • Changing email address on Twitter for Android unsets "Protect your Tweets"
    • Bounty: $2,940

hackerone.com

  • Mail.ru for Android - Theft of sensitive data

https://hackerone.com/reports/910398hackerone.com

  • [IRCCloud Android] Theft of arbitrary files leading to token leakage

hackerone.com


Cryptographic Issues

  • Twitter iOS fails to validate server certificate and sends oauth token
    • Bounty: $2,100

hackerone.com

  • Insecure Data Storage in Vine Android App
    • Bounty: $140

hackerone.com


Violation of Secure Design Principles

  • Phishing/Malware site blocking on Brave iOS can be bypassed with trailing dot in hostname
    • Bounty: $250

hackerone.com

  • ByPassing the email Validation Email on Sign up process in mobile apps
    • Bounty: $100

hackerone.com


4. その他

モバイルアプリの報告が多いプログラム(会社)


おすすめの学習コンテンツ

コンテンツ


やられアプリ


YouTube

  • Advanced Android Bug Bounty skills - Ben Actis, Bugcrowd's LevelUp 2017

www.youtube.com

www.youtube.com

www.youtube.com


Udemy


公式ドキュメント

  • OWASP Mobile Application Security Testing Guide (MASTG)

github.com

coky-t.gitbook.io

  • OWASP Mobile Application Security Testing Guide ja

github.com

  • Androidアプリのセキュア設計・セキュアコーディングガイド

www.jssec.org


ツール

bugbountyforum.com

github.com


参考ドキュメント (おすすめ系)

github.com

github.com

github.com

github.com

github.com

github.com

book.hacktricks.xyz

book.hacktricks.xyz


バグバウンティ入門(始め方)

バグバウンティの始め方については、以下のブログで紹介しているため、こちらもぜひご覧ください。

scgajge12.hatenablog.com


5. 終わりに

本稿では、バグバウンティにおけるモバイルアプリケーションの脆弱性報告の事例についてまとめて紹介しました。

モバイルアプリの開発をしている方でセキュリティに興味のある方は、ぜひ参考にしてみてください。

ここまでお読みいただきありがとうございました。