Shikata Ga Nai

Private? There is no such things.

XSS via Exif Data - The P2 Elevatorを訳してみた

Hello there, ('ω')ノ

 

Exifデータを介したXSSを。

 

脆弱性:

 保存されたXSS

 

記事:

 https://shahjerry33.medium.com/xss-via-exif-data-the-p2-elevator-d09e7b7fe9b9

 

概要 :

Exifデータの脆弱性は、Exiftoolを使用して、XSSペイロードを画像に挿入して。

それをWebサイトにアップロードして、XSSを取得できて。

 

https://github.com/exiftool/exiftool

f:id:ThisIsOne:20220319160715p:plain

 

Exifタグを理解する:

EXIFは「ExchangeableImageFileFormat」の略で。

このタイプの情報はTIFF仕様に従ってフォーマットされており。

JPG、TIFF、PNG、JP2、PGF、MIFF、HDP、PSP、XCF画像のほか。

多くのTIFFベースのRAW画像、さらにはAVIおよびMOVビデオもあって。

EXIFメタ情報は、画像内の画像ファイルディレクトリ(IFD)に編成されていて。

Exif IFDは、Exif固有の属性情報を記録するためのタグのセットで。

 

画像には多くのexifタグがありますが、攻撃に使用したのは。

UserCommentタグまたはImageDescriptionタグとも呼ばれる。

「Comment」タグの1つだけで。

 

Exifユーザのコメントタグは、ImageDescriptionのキーワードやコメント以外に。

ImageDescriptionタグの文字コード制限なしで画像に。

キーワードやコメントを書き込むために使用されて。

ImageDescriptionタグは。

UserCommentタグを読み取るExif/DCFリーダーによって処理されて。

 

今回は、画像のメタデータを処理する多くの画像処理ライブラリがあって。

現在、このメタデータには、exifデータとも呼ばれる画像のメタタグも含まれていて。

この場合は、Exif/DCFリーダーであるこの画像処理ライブラリは。

アップロード時に画像のexifタグをサニタイズしていなかったためXSSが発生して。

この場合、exifデータを削除するか、exifタグをスキャンして。

XSSペイロードをHTMLエンティティに変換する必要があって。

 

この脆弱性をどのように見つけたかというと。

1.ターゲットウェブサイトには写真をアップロードするオプションがあって。

 

アップロード機能

f:id:ThisIsOne:20220319150949p:plain

 

2.まず、通常のexif画像をアップロードして、exifデータの露出の脆弱性を確認して。


Exif画像のアップロード

f:id:ThisIsOne:20220319151018p:plain



アップロードされた画像

f:id:ThisIsOne:20220319151043p:plain

 

3.画像をダウンロードするオプションがあったので。

 画像をダウンロードしてexifデータを確認して。

 

http://exif.regex.info/exif.cgi

f:id:ThisIsOne:20220319160500p:plain


画像のダウンロード

f:id:ThisIsOne:20220319151111p:plain


Exifデータ

f:id:ThisIsOne:20220319151140p:plain


f:id:ThisIsOne:20220319151205p:plain

 

4.Googleから別の画像をダウンロードし、exifdataを確認して。


通常の画像

f:id:ThisIsOne:20220319150902p:plain

 

5.exiftoolを使用してXSSペイロードをexifデータとしてイメージに挿入して。


ExifデータのXSSペイロード

f:id:ThisIsOne:20220319150844p:plain

 

6.画像をWebサイトにアップロードし、XSSポップアップを取得して。


Exifデータを介したXSS

f:id:ThisIsOne:20220319150822p:plain

 

影響 :

攻撃者がユーザのセッションを乗っ取ってアカウントを乗っ取る可能性があって。

保存されたものであり、画像は公開されているため。

より深刻になる可能性があって。

 

緩和 :

アップロードされた画像から常にexifデータ(メタデータ)を削除して。

exifデータを削除したくない場合は、メタデータの検証チェックが必要で。

メタデータ(exifdata)に悪意のあるペイロードが含まれているかどうかを確認して。

含まれている場合は削除する必要があって。

 

Best regards, (^^ゞ