所用により必要になり、以前読んだJSSECのPDFに書いてあったのを思い出したので改めて備忘録としてまとめた。
元々の機能として
Androidの機能としてWeb上のリンクに対応してアプリを起動することが可能。
アプリ側がタップされたリンクのURIスキーマを対応しているとURLに含まれる情報と一緒にアプリを起動することができる。
危険性
乗っ取り
同一URIスキーマに対応した悪意あるアプリがインストールされていると、URLに含まれる情報を盗まれる可能性がある。
URIスキーマに対応したアプリが複数あると暗黙Intentによる起動のためアプリ選択画面になる。その際にユーザが誤って悪意あるアプリ側を選ぶと、センシティブデータを盗まれる。
対策
センシティブな情報をパラメータに含めない
URLに含まれるパラメータ経由でXSSまがいな攻撃を食らう
URIスキーマに対応したリンクは比較的簡単にできる。
URLのパラメータが想定したWebページから送られてくるとは限らないし、送り元も判断できない。
そのままパラメータの値を実行や表示、利用などすると悪意あるデータをそのまま利用することになる。
対策
URLパラメータを利用するためにバリデーションチェックを実施すること
今回参考した情報