【DVWA-master】xss(DOM)(详)

DOM型xss其实是一种特殊类型的反射型xSs,已是基于DOM文档对象模型的一种漏洞。
攻击方式:用户请求一个经过专门设计的URL,它由攻击者提交 ,而且其中包含xss代码。服务器的响应不会以任何的形式包含攻击者的脚本 ,当用户的浏览器处理这个响应时,DOM对象就会处理xss代码,导致存在xss漏洞.

1.xss(DOM) 初级

打开DVWA-master点击xss(DOM),点击DVWA security设置安全等级为初级,选中下拉线随便选择一种回车,url上会看到default,要看到有default,在default=后面输入代码

在最底下View source查看程序源码,会发现没有任何过滤,并且是get的形式

(1)漏洞挖掘

先按select后在url中输入,出现xss漏洞

(2)查看cookie

再随便选择一种按select

回车,在url中输入<script>alert(document.cookie)</script>,便可以查看当前的cookie了

2.xss(DOM) 中级

点击DVWA security把安全级别设置成中级

查看源代码,会发现会含有<script的代码会出现报错,直接统一返回English,按F12查看页面的html,查看select那部分就是提交的那部分default+8,+8刚好就是等号的后面,代码会把等号后面的东西转给option,进行一系列操作,所以可以在option那里插入我们的代码,要避开被过滤可以把前面的闭合,把代码放在后面,就可以执行恶意代码了,可以看到把select和option闭合就可以了,但是不能用<script>标签了,可以用img或body标签

(1)挖掘xss漏洞

先select后在url输入></option></select><body οnlοad=alert(/xss/)>

(2)查看当前cookie

先select后在url输入></option></select><body οnlοad=alert(document.cookie)>

3.XSS(DOM)高级

查看源代码,会发现它进行了定义,只认那几种能选的,其他的一概不行

这里利用#的机制,绕过后台的过滤。
在URL中#表示的是一个锚点。在浏览器识别url的时候,会把#后的字符当做页面的定位,然后加载页面的时候,直接定位到指定的标签。因此#后面的字符是不会被浏览器发送到服务器端的。这样就实现了绕过服务器端的防御机制。而依赖DOM修改html结构执行的是js代码,这个执行过程是在客户浏览器端的,因此实现了不经过服务器就可以实现xss注入

把安全级别设置为高级

(1)挖掘xss漏洞

先select后在url输入#<script>alert(/xss/)</script>

(2)查看当前的cookie

先select后在url输入#<script>alert(document.cookie)</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值