dvwa学习笔记——dom型xss

三、dom型xss

DOM xss是基于dom文档对象模型,前端脚本通过dom动态修改页面,由于不与服务端进行交互,而且代码是可见的,从前端获取dom中的数据在本地执行
常见的可以操纵dom的对象:URL,localtion,referrer等。

low源码:

dvwa学习笔记——dom型xss_第1张图片

dvwa下的dom型xss页面的意思是选择一种语音,只在前端执行,且代码并未对default进行处理

dvwa学习笔记——dom型xss_第2张图片

漏洞分析与利用:

源码并未做任何安全防护措施,所以可以直接在url上构造攻击脚本

构造脚本:

...dvwa/vulnerabilities/xss_d/?default=English

执行脚本:

dvwa学习笔记——dom型xss_第3张图片

查看页面源码,脚本已经插入value值和option标签中。

dvwa学习笔记——dom型xss_第4张图片

medium源码:

dvwa学习笔记——dom型xss_第5张图片

漏洞分析与利用:

array_key_exists检查数组里是否有指定的键名和索引,如果default值不为null,default的值就等于获取到的default。

stripos返回default中字符串标签无法绕过,可以考虑使用标签,但因为直接使用img标签的话img无法插入到option标签里,因此先闭合和标签。

构造脚本:

default=

执行脚本:

dvwa学习笔记——dom型xss_第6张图片

抓取页面源代码,已经屏蔽掉前面的