iモードブラウザ2.0のJavaScriptを調査・研究する過程で、iモード専用サイトのhtmlソースを閲覧する方法を発見しました。
今回発見した方法を用いれば、「ドコモ・ゲートウェイ以外からのアクセスを禁止している」、「サーチエンジンのクロールを禁止している」、「XSS脆弱性が存在しない」の三つの条件を満たしているiモード専用サイトでも、htmlソースを閲覧することができます。
しかし、htmlソースを閲覧するためには、そのiモード専用サイトが別の二つの条件を満たしている必要があります。
htmlソースが閲覧可能なiモード専用サイトの条件
- デフォルトホストで運用されている。(ヴァーチャルホストではない)
- iモードブラウザ2.0のJavaScriptからのアクセスを禁止していない。
iモード専用サイトのhtmlソースの閲覧方法
- iモードブラウザ2.0のJavaScriptで、htmlソース閲覧スクリプト(js_vulnerability)を作成する。
- そのスクリプトを、自分のDNS管理下にあるドメインで運用しているサイト(mydomain.com)にアップロードする。
- iモードブラウザ2.0で、mydomain.comのhtmlソース閲覧スクリプトにアクセスし、それを画面メモをする。
- htmlソースを閲覧したいiモード専用サイト(targetdomain.com)のIPアドレス(aaa.bbb.ccc.ddd)を調べる。
- mydomain.comのIPアドレスを、aaa.bbb.ccc.dddに変更する。
- 上述のhtmlソース閲覧スクリプトを、画面メモから呼び出す。
- htmlソース閲覧スクリプトの「target url」に、targetdomain.comサイト内の任意のurlを入力して、「view」を押す。
- htmlソース閲覧スクリプトの「html source」テキストエリアに、iモード専用サイト(targetdomain.com)内の任意ページのhtmlソースが表示される。
今回発見した方法は、iモードブラウザ2.0のJavaScriptのクロスドメイン通信制限が、ホスト名ベースであることを利用して、クロスドメイン通信制限を突破しています。
なお、iモードアプリやiモードFlashでも同様なことが可能であると思います。
そして、今回の発見によって、htmlソースが見えないことを前提としてiモード専用サイトを作成することが非常に危険であるということを、改めて再認識しました。
追記:
これまで、mpw.jpもデフォルトホストで運用していましたが、ヴァーチャルホストでの運用に変更しました。
これはすごいですね。一種のDNS Rebindingだと思います。
HTMLソースが読めるだけだとまだよいのですが、Same Origin Policyが破られるというのは大きな問題ですので、脆弱性として届け出た方がよいのではありませんか?
セキュリティ関係は不勉強なもので、何処に何を届け出れば良いのかが、よく分からないものでして・・・
ただ、毎日、色々な携帯電話関係の会社から、当Blogへのアクセスがありますので、これが重大な問題であるのであれば、適切な対処・対応がなされるかと思っております。
[…] This post was mentioned on Twitter by tsutomura, miniryo. miniryo said: でっすよねー今後スマフォン文化も広がるだろうし。 "htmlソースが見えないことを前提としてiモード専用サイトを作成すること […]
公式サイトの課金直前ページのソースは見られるとまずいのでは??
リプライありがとうございます。
最初のコメントから色々考えたのですが、DNS RebindingはPCブラウザでも完全には対策されてない問題ですので、ケータイブラウザの脆弱性として届け出ても、有効な対策をすぐにとるのは難しそうです。サイト側の対策の方が効果的でしょうね。
【対策編】iモード専用サイトのhtmlソースの閲覧方法
iモード専用サイトのhtmlソースの閲覧方法 (mpw.jp管理人のBlog)という記事が出ていいました。iモードブラウザ2.0のJavaScriptを調査・研究する過程で、iモード専用サイトのhtmlソースを閲覧す…
trackbackの送信に失敗したかな?こんなの書きました。
【対策編】iモード専用サイトのhtmlソースの閲覧方法 – ぱらめでぃうす http://parame.mwj.jp/blog/0305
[…] (1)iモード専用サイトのhtmlソースの閲覧方法 « mpw.jp管理人のBlog 今回発見した方法は、iモードブラウザ2.0のJavaScriptのクロスドメイン通信制限が、ホスト名ベースであることを利用し […]
こんにちは。
これは自宅サーバーを持ってないとできないのでしょうか?
私はhttp://value-domain.com/をドメインを取得し、http://xrea.com/でサーバーを運営しています。
これでもできるでしょうか?
>5.mydomain.comのIPアドレスを、aaa.bbb.ccc.dddに変更する。
これがどうしたらよいかわかりません。
どうすればいいのでしょうか?
そもそも、携帯ブラウザにはソース表示機能が付いてないのはなんでなんですか!?
付けてはダメなんですか?
携帯電話サイトのセキュリティモデルが、htmlソースの閲覧不可を前提として組み立てられているためだと思います。
>>9
はどうすればいいのでしょうか?
分かりませんので、ご使用されてるホスティングの運営会社にお問い合わせください。
[…] iモード専用サイトのhtmlソースの閲覧方法 […]