Instagram APIを使用するサイトのXSS

Instagram APIを使用してアプリケーションを開発しているときに、タグを変換していないことに気付きました。 もちろん、この問題は数行のコードで解決されます。 しかし、ページに表示する前にすべての開発者がタグをエンティティに変換し、APIを完全に信頼するとは限らないと考えました。 Instagramページの説明に、テキストの代わりにJSスクリプトがあると誰が期待するでしょうか?

そのようなサイトを見つけました。

まず、プロファイルの説明にリモートjsスクリプトへの接続を追加し、いくつかの写真の説明に1行追加しました
<script >alert(document.cookie);</script> 
#instagramapiを含むいくつかのハッシュタグ。

私が最初に見つけたサイトはIconosquareです。

IconoSquareは、Instagramアカウントを分析および管理するための便利なアプリケーションです。 ユーザーフレンドリーなウェブインターフェースは時間を節約し、加入者とのコミュニケーションを助けます。 IconoSquareを使用して、プロファイルを表示したり、ハッシュタグで検索したりできます。


このサイトでは、ハッシュタグ#instagramapiを使用して写真を検索することにしました。私の場合は猫の写真です。

写真をクリックすると、写真の説明を含むページに移動しましたが、Iconosquareはhtmlタグをエンティティに変換するのを忘れていました。 これにより、XSSを実行できるようになりました。

画像を見る
画像

ページのソースを開くと、タグをページのメタ記述に変換するのを忘れていることがすぐに明らかになりました。

画像を見る
画像

ユーザーのページでは、Instagramプロフィールの名前と説明を変換しませんでした。結果は次のとおりです。

画像を見る
画像

次に見つけたサイトはfacegram.ioです。

私が理解しているように、facegram.ioはもう1つのInstagram Web Viewerです。 このサービスには約50,000人のFacebook加入者がいるため、人気があると考えることができると思います。

ここではハッシュタグ#instagramapiも探しています。結果は次のとおりです。

画像を見る
画像

同様にユーザーページで

実際、XSS攻撃を実行できるサイトが27個見つかりました。 すべてをペイントする必要はないと思います。XSSを使用したページへのリンクを次に示します。


私はIconosquareで書き、他のいくつかのサイトをサポートしようとしましたが、それらはまったく反応しませんでした。 これらのサイトの開発者に脆弱性を知らせることができるかもしれません。

PSこの記事は、Instagram APIから受け取ったデータを信頼してはならないことを開発者に知らせるために書かれています。

PPS Facebook APIを使用するアプリケーションで同様の状況。

Source: https://habr.com/ru/post/J249589/


All Articles