DVWA-xss全等级教程

low等级:

反射型(reflected)

在输入框随便输入一串字符,跟踪字符发现其出现在

标签中,于是可以通过自建标签方式进行弹框,

DVWA-xss全等级教程_第1张图片这里输入来实现弹框。

当然还能输入

也可以通过输入

DVWA-xss全等级教程_第2张图片

DOM型:

在下拉框中选择不同的选项会在url中显示不同的参数,可知url中default中该点可能存在注入点

DVWA-xss全等级教程_第3张图片

同上面反射型注入类似,在url中的defaule这个注入点中自建标签即可弹框

这里输入来实现弹框。

当然还能输入

也可以通过输入

存储型(stored)

可见输入的内容会显示到div标签中,所以在这里也是用自建标签方式来弹框,方法跟上面一样,这里不重复累述,这里需要注意的是name这个输入框有长度限制,需要在message这个输入框中进行注入。

DVWA-xss全等级教程_第4张图片

 

middle等级:

反射型:

尝试输入进行弹框,发现回显alert(1),猜测可能对script字符串进行了过滤,

DVWA-xss全等级教程_第5张图片

这里有多种方法绕过过滤script字符串

1、使用大小写混写script来进行弹框,成功弹框

2、双写script进行弹框,原理是先过滤中间的script字符,过滤完会合成一个新的script字符串,成功弹框

t>alert(1)t>

 3、也可以用img标签:

4、也可以使用svg标签:

DOM型:

查看源码发现该代码会过滤

下面两种方式弹框

1、利用img标签

2、利用svg标签

存储型:

查看源码可知,$message框用了htmlspecialchars函数,该函数会将字符串html实体化,防止以html形式运行代码,这里没法进行注入

再来看$name框,这里只是过滤了

存储型:

跟反射型的high级别同理,$message字段被html实体化了,无法注入,也是只能在$name字段进行注入。该注入点也是采用了黑名单,用正则表达式完全过滤

你可能感兴趣的:(DVWA-xss全等级教程)