(゚ω゚) レベル4になると難しい。
https://xss-game.appspot.com/level4
(゚ω゚) の答えは、input id="timer"の値は3ではなく、
(゚ω゚) 下記の1行を入力して「Create timer」ボタンを押し、続いて「Go」ボタンを押す。
')%3Balert('msg1')%3Balert('msg2
(゚ω゚) 解き方は、timer.htmlの21行目のonloadが、
(゚ω゚) 「startTimer関数;alert関数;」という2つの関数に成れば良いらしい。
(゚ω゚) 参考URL
http://www.behindthefirewalls.com/2014/06/xss-game-by-google-exercises-4-5-and-6.html
> XSS-game by Google exercises 4, 5 and 6.
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Logical_operators
(゚ω゚) ||という論理和演算子の動きは、
(゚ω゚) 10行目のparseInt(seconds)が失敗すると、3がseconds に代入されるようだ。
![](https://stat.ameba.jp/user_images/20170109/17/pochifx/cb/df/j/o0646039113841657280.jpg?caw=800)
(゚ω゚)残りの問題の答え。
https://xss-game.appspot.com/level5
は、?next=javascript:alert('msg')に書き換えてGoボタン押下し、Nextアンカークリック。
https://xss-game.appspot.com/level6
は、
https://xss-game.appspot.com/level6/frame#/static/gadget.js
ではなく、
https://xss-game.appspot.com/level6/frame#data:text/javascript,alert('msg')
に書き換えてGoボタン押下。
https://developer.mozilla.org/ja/docs/data_URIs
構文
data URI は接頭辞 (data:)、データの種類を示す MIME タイプ、テキストではないデータである場合のオプションである base64 トークン、データ自体の 4 つの部品で構成されます:
data:[<mediatype>][;base64],<data>mediatype は MIME タイプ文字列で, 例えば JPEG 画像に対しては 'image/jpeg' を使います。省略時のデフォルトは text/plain;charset=US-ASCII です。