モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

新たなjavascriptサニタイズの抜け道

通常とは異なる記述の javascript: プロトコルが実行される

javasc	ript

みたいな表記が、IEではjavascriptと読まれてしまうらしい。


ちなみに上記ソース中、

<A href="/?scid=javasc%26amp%3b%2309%3bript%3aalert('test')">test</A> 

となっているところは

<A href="javasc&#09;ript:alert('test')">test</A> 

の間違い(というかエスケープされちゃってる)だと思われる。


そこで早速、はてな

<javasc&#09;ript>

を試してみたが、知らないタグ以外の「<」は「&lt;」に置き換えてしまうため、通らなかった。


しかし、

<IMG src="sc&#09;ript:〜
<A href="javasc&#09;ript:〜

という表記でも使えてしまうらしいので、こっちは通るかも?と思って試してみたが、

<IMG src="./javasc&#09;ript〜
<A href="./javasc&#09;ript:〜

に置き換えられて通らず。

むむ、すごいなはてな


はてなでは通らなかったものの、これ使ったXSSとか出てきそうな感じ。


(追記)

お隣日記より、

hoshikuzu | star_dust の書斎

javascript:スキームだった。 おおお! 
いったいどういう仕組みなんだろう。ソースを見てもわからんかった。
…略
なぜに、a要素がHotmailのフィルターを通過してきたのかもわからない

ということなので、このテクニックがすでにスパム屋に使われだしてるのかも。