Hello there, ('ω')ノ
Exifデータを介したXSSを。
脆弱性:
保存されたXSS
記事:
https://shahjerry33.medium.com/xss-via-exif-data-the-p2-elevator-d09e7b7fe9b9
概要 :
サーバがアップロードされた画像から。
exifデータを削除していなかったターゲットWebサイトで。
このexifデータの脆弱性を見つたので報告を。
Exifタグ:
EXIFは「ExchangeableImageFileFormat」の略で。
このタイプの情報はTIFF仕様に従ってフォーマットされていて。
JPG、TIFF、PNG、JP2、PGF、MIFF、HDP、PSP、XCF画像のほかに。
多くのTIFFベースのRAW画像、さらにはAVIやMOVにも含まれていて。
https://github.com/exiftool/exiftool
EXIFメタ情報は、画像内の各画像ファイルディレクトリ(IFD)に編成されていて。
Exif IFDは、Exif固有の属性情報を記録するためのタグのセットで。
画像には多くのexifタグがありますが、攻撃に使用したものの1つで。
UserCommentタグ、またはImageDescriptionタグとも呼ばれていて。
今回は、「Comment」タグについてのみ説明することに。
ExifユーザのCommentタグは、ImageDescription以外の。
キーワードやコメントを画像に書き込むために使用されて。
ImageDescriptionタグの文字コード制限なしで。
UserCommentタグを読み取るExif / DCFリーダーによって処理されて。
画像のメタデータを処理する多くの画像処理ライブラリがあって。
このメタデータには、exifデータとも呼ばれる画像のメタタグも含まれていて。
この場合、Exif / DCFリーダーであるこの画像処理ライブラリは。
アップロード時に画像のexifタグをサニタイズしていなかったので。
XSSが発生したわけで。
この場合、exifデータを削除するか、exifタグをスキャンして。
XSSペイロードをHTMLエンティティに変換する必要があって。
さて、この脆弱性の見つけ方は以下のとおりで。
1.ターゲットウェブサイトには、写真をアップロードするオプションがあって。
5.exiftoolを使用してXSSペイロードをexifデータとして画像に挿入して。
exiftool -Comment='"><img src=x onmouseover=alert(document.domain)>' Jerry,jpg
6.画像をWebサイトにアップロードするとXSSのポップアップを取得できて。