PDF Upload Lead to Stored XSS [ProtonMail Secure Email] から学ぶ

ソース:

medium.com

脆弱性XSS

 

訳:

このレポートでは、この Web システム ( Proton メール )にセキュリティ上の脆弱性があり、悪意のある攻撃者による XSS ストア型攻撃の実行を可能にしていることを発見しました。

 

当然のことながら、さまざまな種類のファイルをアップロードしようとしたり、PHP ファイルをアップロードするために潜在的脆弱性を悪用しようとしました。
残念ながら、最初の試みは失敗しました。

ただし、PDF ファイルは正常にアップロードできました。
これを認識して、オンライン調査を行ったところ、PDF ファイルに JavaScript コードを挿入できることがわかりました。

そのため、PDF ファイル内にインジェクションを行う必要がありました。
Web サイトが必要なチェックを行わなかった場合、保存された XSS脆弱性が存在することになります。
オンラインで検索しても、単純な XSS PDF は見つかりませんでした。
そこで JavaScript を実装することにしました。
この JavaScript は、PDF に JavaScript コードを埋め込みました (この場合は (app.alert\('/write by : HamidReza Faghani/'\))。

 

JavaScript コードのスニペットを次に示します。

 

 

PDF ファイルを作成した後、それを Web アプリケーションにアップロードすると、XSS が保存されました。

 

 

結論として、ユーザーや組織は通常、PDF ドキュメント内に悪意のあるスクリプトが含まれることを予期しません。
開発者は、アプリケーション内の PDF ファイルに対して強力なセキュリティ チェックを実装する必要があります。
さらに、サードパーティの PDF ファイル リーダーを使用している組織は、これらのコンポーネントを最新の状態に保つことを優先する必要があります。 

 

ほなほな。