Level 16-20
Level 16
先输入标准的弹窗代码尝试一下。
不出意外没有成功,再看一下网页源码。
这里看到script
与/
字符被替换成了html实体字符中的空格
。/
字符被替换后,html标签就不能闭合了。这里我们可以使用<img>
这种不需要闭合的标签。
构造代码:
<img src=1 onerror=alert('xss')>
传入后什么也没发生。看一下源码
发现空格变成了html实体字符。那我们使用回车代替空格。(回车的url编码是%0A)
弹窗成功。
Level 17
这一关有一个嵌入的flash文件,不过现在的浏览器大多已经不支持flash了。
火狐打开这个页面是这样的:
edge上是这样的:
从网上找了个可以运行flash的浏览器插件,页面正常了。
看一下网页源码:
传入的两个参数arg01
和arg02
,出现在了嵌入的src
属性中,那我们再arg02
处给这个嵌入的标签注册一个事件弹窗即可。
成功弹窗
Level 18
这一关好像与上一关没有任何区别,就是少了一个跳转到下一关的链接。可能是因为flash的问题,上一关注册的点击事件这里没用了,改成鼠标移动onmouseover
就可以了。成功弹窗。
Level 19-20
这两关涉及到flash的反编译,由于flash已经过时了,现在深入研究没啥意义了,如果想深入了解可以在别的渠道查找资料。