XSS训练

最近发现了几个专门训练XSS的网站,我在这方面还是弱项,决定把这几个网站的题都刷一遍,然后写一写WP,也算是增强记忆和理解吧,我找的几个网站如下:

https://xss.haozi.me/#/0x04

http://xss-quiz.int21h.jp/

首先我会记忆一下第一个网站的题目:

前三题都较简单,从第四题说起:


0x03

XSS训练_第1张图片

我们看一下网站代码,发现他是过滤了 圆括号。

绕过这个过滤,我们可以直接使用反引号:

XSS训练_第2张图片

关于反引号在XSS中的最新运用,大家可以参考下面的一片文章:

 


0x04

XSS训练_第3张图片

这道题,我们可以看到我们将 圆括号和 反引号都过滤了,也就是我们不能运用模板字符串了。

我们想到,我们是否可以使用  unicode 编码,来代替 圆括号。 这种思路没错,但是我们要遇到一个问题就是 unicode 编码怎么才会被转码实现了,如果只是正常的 html编码, unicode编码是不会有任何用的。

这里我们可以在了解一下   这个标签,这是一个外部标签,可以显示文字,字符及其他数据。 而  有一个 很重要的特性,便是 他可以和  xml 一样将  unicode 编码转码进行执行,也就是我们可以通过这个标签执行 unicode编码,关于这个标签的具体介绍,我们可以查看下面这篇资料:

https://www.hackersb.cn/hacker/85.html

XSS训练_第4张图片

又或者可以H5中iframe的特点,因为h5中iframe的srcdoc属性,srcdoc里的代码会作为iframe中的内容显示出来,srcdoc中可以直接去写转译后的html片段。