分散システムとポエム

ブラウザをごまかして発火させるXSS

ネットサーフィンをしていたら以下の記事を見つけた。ブラウザの解釈を誤魔化すことで生じるXSSパターンをPoCを書いて試してみた。

色んなXSS – nootropic.me

書いたコードは以下

tomoyk/xss-study: to study xss-patterns

以下にコードの簡単な説明を書いておく。

  • a.html :: href="が文字列として認識されてXSSが発火する。ダブルクオートの忘れは命取りになる。
  • b.html :: 改行されると空白として扱われる。パラメータは空白として認識されない。
  • c.html :: HTMLのパラメータとタグの区切りを/で実現。<q/oncut=alert()で切り取り(Ctrl + X)を行うと発火する。
  • d?.html :: open()の第二引数 に指定した文字列が移動先の top.name に格納される。これを移動先から eval()することで発火。
  • e.html :: URLオブジェクトをslice()して文字を切り出してeval()で実行している。URLの扱いがイマイチつかみにくい。
  • f.html :: unescape()eval()に食わせている。ポイントは%0aをつけることで改行させること。

参考: URL – Web API インターフェイス | MDN

マイナーな感じのXSSは面白かった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です