- blogs:
- cles::blog
« 酒の穴(ディナー編) :: ERB と binding »
2012/08/05

location.href の扱いに注意


JavaScript で location.href を使っていると XSS が発生する場合があるらしいのでメモ。
原理を理解するまで少し時間がかかりましたが、やっと分かりました。Safari のバグというよりは webkit のバグですかね。
Masato Kinugawa Security Blog: location.hrefの盲点
@の前の「%2F」が「/」にデコードされて表示されています。そうです、なんと、Safariのlocation.hrefは、ホストの前の@の前の文字列をパーセントデコードして返すのです。(@がついたURLはあまり目にしませんが、@の前には認証情報を記述することができます。)
これはつまり、location.hrefが自分と同じドメインのURLを返すことを前提に書いているコードは全て、正しく動かない恐れがあるということです。最悪の場合、XSSが起こります。
影響を受けるブラウザについては下記にまとめがありますが、Safari Mobile/Android 4.1 未満では修正されていないようなので注意が必要です。自分が使っている環境が具体的に影響を受けるかについても下記のページで確認が可能ですので、気になる場合はチェックしてみると良いと思います。
@XSS (一部のブラウザのlocation.hrefがXSSを引き起こしやすいことに関する注意喚起)
影響を受けるブラウザ
* Safari 5.1.7以前(5.1.7を含みます。MacのSafari 6では修正されていますがWindowsは修正版がリリースされていません)
* Safari Mobile(最新のiOS 5.1.1でもこの挙動をします)
* Android標準ブラウザ4.1未満?(Android 2.3.6でテストしました。@bulkneetsさんによると4.1は修正済み、4.0.3は影響を受けるとのことです。@cubedlさんによると4.0.4は影響を受けるとのことです。)
† 参考
・CVE-2012-3695
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5139
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« 酒の穴(ディナー編) :: ERB と binding »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112054)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110683)
3 . 年次の人間ドックへ(110307)
4 . 2023 年分の確定申告完了!(1つめ)(109855)
5 . 三菱鉛筆がラミーを買収(109755)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110683)
3 . 年次の人間ドックへ(110307)
4 . 2023 年分の確定申告完了!(1つめ)(109855)
5 . 三菱鉛筆がラミーを買収(109755)
cles::blogについて
Referrers