Skip to content

Instantly share code, notes, and snippets.

@mala
Created December 8, 2016 17:20
Show Gist options
  • Save mala/ab473e295f15fbb9e67a1fb6f099e123 to your computer and use it in GitHub Desktop.
Save mala/ab473e295f15fbb9e67a1fb6f099e123 to your computer and use it in GitHub Desktop.
exciteブログのXSS (2013)
2013年12月 届出
----
2. 脆弱性関連情報
1) 脆弱性を確認したウェブサイトのURL
exciteブログ
http://www.exblog.jp
2) 脆弱性の種類
XSS,セッションハイジャック
3) 脆弱性の発見に至った経緯
偶然
4) 脆弱性であると判断した理由
1.
exciteブログにおいて、ユーザーのブログ上では、scriptを禁止するポリシーになっているようで、
ブログパーツは運営者が選択したものしか利用できないように制限されており、いくつかのタグや文字列が禁止されている。
しかし、実装に不備があり、実際には任意のscriptを記述することが可能になっている。
確認した範囲で
- テンプレートの編集で複数のパーツに分割して禁止されている属性を書き込む
- videoタグのonloadstartなど、近年ブラウザに追加された新しいイベントハンドラを使う
といった方法でユーザーのexblog(例:username.exblog.jp)を表示の際に任意のscriptを実行可能になっている
禁止されている語句については、分割して記述することで制限を回避することが可能だった。
テンプレートに
<video onloadstart="location.href='javas'+'cript:a'+'lert(1)'">
<source>
</video>
と記述したもの http://malatest.exblog.jp/
2.
username.exblog.jp 上で実行されるJavaScriptからは、document.cookieを使って .exblog.jp
に設定されたcookieを読み取ることが出来る。
.exblog.jp に設定されたcookieを別のブラウザにコピーすることで、www.exblog.jp
の管理画面にログインすることが出来た。(セッションハイジャックが可能)
異なるUserAgent、異なるIPアドレスからアクセスした場合にもログイン状態になることを確認した。
5) 脆弱性により発生しうる脅威
exciteブログにログイン中のユーザーが悪意のあるexciteブログ利用者の作成したWebサイトに誘導された場合、exciteブログの設定情報を読み取られたり、記事の改竄が行われる可能性があります。
6) ウェブサイトの連絡窓口
http://bloghelp.exblog.jp/14494968
7) その他
ブログ利用者が、blog記事の表示ドメイン上で任意のscriptを実行する方法が複数存在していると考えられるので、
管理画面にアクセスする際には www.exblog.jp に設定されたcookieの確認を必須とするように改修が必要だと考えられます。
また新管理画面(userconf.exblog.jp) には .exblog.jp に設定されたcookieのみではアクセス出来ませんでした。
新管理画面への移行を進めて、旧管理画面を閉鎖することによっても対策が可能だと考えられます。
----
2014年xx月 修正完了連絡
エキサイトブログの件につきまして、ウェブサイト運営者より、届出い
ただきました脆弱性に対する修正が完了したとの報告がありましたので
ご連絡いたします。
また、ウェブサイト運営者から届出の問題の対策に関して、下記の見解
をいただきましたので、通知いたします。
・ブログ内でスクリプトを実行する機能は、ブログの基本的な機能の一
部のため、この機能を完全に無効してしまうと、当該サービスを継続
させることが、困難との結論に至りました。このため対策として、ユー
ザ固有の暗号キーを httponly な cookie として発行し、新旧管理画
面でその値をチェックする仕様にいたしました。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment