DVWA-XSS(Reflected) 全级别教程

XSS(Reflected)

Low等级

查看源码
DVWA-XSS(Reflected) 全级别教程

可以看到,代码直接引用了name参数,并没有任何的过滤与检查,存在明显的XSS漏洞。
输入,成功弹框
DVWA-XSS(Reflected) 全级别教程
DVWA-XSS(Reflected) 全级别教程

获取cookie

DVWA-XSS(Reflected) 全级别教程

,弹窗成功
DVWA-XSS(Reflected) 全级别教程DVWA-XSS(Reflected) 全级别教程

Medium等级

查看源码

DVWA-XSS(Reflected) 全级别教程

使用str_replace函数将输入中的

利用双写绕过

<sc,成功弹框
DVWA-XSS(Reflected) 全级别教程

获取cookie

<sc,成功弹框

DVWA-XSS(Reflected) 全级别教程
DVWA-XSS(Reflected) 全级别教程

大小写混淆绕过

,成功弹框
DVWA-XSS(Reflected) 全级别教程

获取cookie

DVWA-XSS(Reflected) 全级别教程

,成功弹框

DVWA-XSS(Reflected) 全级别教程
DVWA-XSS(Reflected) 全级别教程

High等级

查看源码

DVWA-XSS(Reflected) 全级别教程

preg_replace() 函数用于正则表达式的搜索和替换,这使得双写绕过、大小写混淆绕过(正则表达式中i表示不区分大小写)不再有效。
通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。
输入DVWA-XSS(Reflected) 全级别教程,成功弹框

DVWA-XSS(Reflected) 全级别教程

输入<img src=1 οnerrοr=alert(‘左文瑒-http://192.168.0.107/cookie/?cookie=’+document.cookie)>,成功弹框

DVWA-XSS(Reflected) 全级别教程DVWA-XSS(Reflected) 全级别教程

Impossible等级

查看源码

DVWA-XSS(Reflected) 全级别教程

可以看到,Impossible级别的代码使用htmlspecialchars函数把预定义的字符&、”、 ’、<、>转换为HTML实体,防止浏览器将其作为HTML元素。