ブラウザをごまかして発火させる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は面白かった。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中