实验名称:DVWA 之 DOM Based Cross Site Scripting (XSS)
xss 主要分为三种,前面通过了 dvwa 分别研究了反射型和存储型两种 xss,这
次写篇有关 dom xss 的文章,dom xss 和前面的两种 xss 的区别主要是:
dom xss 的产生并没有和后台服务器产生交互,而是通过浏览器的 dom 树解
析产生的。
漏洞利用
在/dvwa/vulnerabilities/xss_d/?default=English
中直接将 English 改为
Medium 级
这次后端做了限制,前端无变化。
不允许出现 script 标签,否则就将 default 的值设为默认的 English,stripos
还防止了大小写绕过。
漏洞利用
- 利用 Url 截断机制加#号
url 中有一个字符为#,该字符后的数据不会发送到服务器端,从而绕过服务端
过滤,构造连接
#default=<script>alert('xss')</script>
2.用 img 标签或其他标签的特性去执行 js 代码,比如 img 标签的 onerror 事
件,构造连接
之前用过 img 的方法,这次使用 svg 的方法来完成。
http://192.168.0.18:81/vulnerabilities/xss_d/?default=</option></select><svg onload=alert("xss")>
High 级
这次后端做了限制,前端无变化。
在服务器后端判断,要求 default 的值必须为 select 选择菜单中的值,这里继
续用上面的#符号绕过即可,构造 payload