世界のことを知りたい

読書習慣を付けたい。…マンガも本だよね?…バナナはおやつだよね?

Google がクロスサイトスクリプティングを攻撃者になって学べる「XSS game」を公開。チャレンジしてみた。

f:id:arityk:20160103195726j:plain

Google のセキュリティチームが XSS(クロスサイトスクリプティング)の脆弱性を実際に自分が攻撃者となって試して学べるゲームを作り、公開しました。6つの問題があり、それぞれで Javascript の alert() を実行できれば合格です。

Javascript をほんの少しだけ知っているので私も試してみたところ、なかなか難しい。それぞれの問題にヒントが3つほどあるのですが、正解は書かれていません。2つめの問題が勉強になりました。少々ネタバレになってしまいますが、Javascript で onerror を使ったことがなかったのでこういう方法があるとは知りませんでした。

6つのテストをクリアするとケーキが貰えます。文字の。

f:id:arityk:20160103195740j:plain

問題の難易度は私のような XSS を少しだけ知っている初学者には丁度良い感じに思えます。難しさは丁度良かったよと最後に報告し、このサイトを閉じました。

問題の正解を知りたい人はこちらのブログなどで書いてくれている人がいます。alert() を実行させる方法は複数あり、Hacker News のコメントなどを見ると勉強になります。また、Google も今回のゲームの XSS に関連した解説を公開してくれています

ちょっとこのゲームとは違う話になりますが、問題中で「document.querySelectorAll()」(cf. MDN) という関数を初めて知りました。jQuery を使わずに入り組んだ場所にある要素を指定する際に、今までは getElementById() や getElementsByTagName() などを組み合わせていましたが、これを使うと楽に指定できそうです。便利そう。