Hello there, ('ω')ノ
QR コード マジックを。
脆弱性
オープンリダイレクト
記事:
https://shahjerry33.medium.com/open-redirection-qr-code-magic-18ace1a0170f
概要 :
オープン リダイレクトの脆弱性は、アプリケーションがユーザ制御可能な。
データを安全でない方法でリダイレクトのターゲットに組み込むときに発生して。
悪意のあるサイトへの信頼されていない URL 入力を変更することにより。
攻撃者はフィッシング詐欺を成功させ、ユーザの資格情報を盗む可能性があり。
オープン リダイレクトの脆弱性は、フィッシング詐欺や。
ソーシャル エンジニアリングに一般的に関連する単純な欠陥と見なされているため。
サイバーセキュリティ コミュニティは、オープン リダイレクトの脆弱性を。
十分に重視しておらず。
説明 :
モバイル アプリケーションは、QR コード スキャナを使用して。
貨物を追跡していて (荷物の詳細を確認)。
ある程度調査した結果、QR コード機能の悪用方法に関するブログを見つけて。
ブログでは XSS に悪用されましたが、自分の場合は Open Redirection の。
脆弱性にエスカレートすることしかできず。
QRコードスキャナのブリーフィング:
QR コード スキャナは、QR コードを読み取ることができる。
光学式スキャン デバイスで。
現在、多くのアプリケーションがこの機能を使用しているため。
Web サイトの閲覧、住所の詳細の確認、支払い、ユーザの追加などに使用できて。
多くのアプリケーションでは、この機能の使用を限られたものに制限していて。
たとえば、QR コード スキャナは Google Pay に実装されているため。
支払いの送受信にのみ使用され。
インターネット サーフィンには使用できず。
この機能が任意のブラウザに実装されている場合は、インターネットを閲覧できず。
支払いができなくなり。
自分の場合、同社はその機能の使用を委託品の追跡のみに制限していなかったため。
Open Redirection の脆弱性につながっていて。
この脆弱性をどのように見つけたか:
1.ターゲットのAndroidアプリに登録して。
2.QRコードスキャナ機能を見つけて。
3.https://www.the-qrcode-generator.com/ にアクセスして。
オープン リダイレクトの脆弱性に対するカスタム QR コードを生成して。
https://www.the-qrcode-generator.com/
4.カスタム QR コードを生成した後、ターゲットの Android アプリケーションの。
スキャナーでスキャンしたところ、リダイレクトされて。
概念実証 (全画面表示で表示) :
https://drive.google.com/file/d/1eXUMu9ZzN9aAUJ8pEyMM5vZsn3wTJgnt/view?usp=sharing
なぜこれが起こるのか:
これは、スキャン対象に制限がないために発生して。
スキャンは、貨物の追跡のみに制限され、URL はスキャンされず。
「javascript URI」をサポートしていなかったため、XSS は発生せず。
問題のエスカレーション:
1.オープンリダイレクト
2.XSS (https://payatu.com/blog/nikhil-mittal/firefox-ios-qr-code-reader-xss-%28cve-2019-17003%29)
3.SQLi (https://www.irongeek.com/xss-sql-injection-fuzzing-barcode-generator.php)
影響 :
攻撃者はこの種のものを悪用し、任意の外部ドメインへのリダイレクトを。
引き起こすアプリケーション内の URL を構築できて。
この動作を利用して、アプリケーションのユーザに対するフィッシング攻撃を。
容易にすることができて。
緩和 :
適切な修正は、WhatsApp や Instagram と同じように。
QR コードに会社のシンボルを含めることで。
そのため、カスタマイズされた QR コードはスキャンされず。
別の修正に進むには、スキャンをその機能のみに制限して。
Best regards, (^^ゞ