DOM-XSS攻击原理与防御
XSS的中文名称叫跨站脚本,是WEB漏洞中比较常见的一种,特点就是可以将恶意HTML/JavaScript代码注入到受害用户浏览的网页上,从而达到劫持用户会话的目的。XSS根据恶意脚本的传递方式可以分为3种,分别为反射型、存储型、DOM型,前面两种恶意脚本都会经过服务器端然后返回给客户端,相对DOM型来说比较好检测与防御,而DOM型不用将恶意脚本传输到服务器在返回客户端,这就是DOM型和反射、存储型的区别,所以我这里就单独的谈一下DOM型XSS。
可能触发DOM型XSS的属性:
document.referer属性
window.name属性
location属性
innerHTML属性
documen.write属性
low
页面本意是叫我们选择默认的语言,但是对default参数没有进行任何的过滤
所以我们可以构造XSS代码,访问链接:
http://dvwa:8080/vulnerabilities/xss_d/?default=English<script>alert('hack')</script>
可以看到,我们的script脚本成功执行了
我们查看源代码,可以看到,我们的脚本插入到代码中,所以执行了
Medium
我们构造该链接:
http://dvwa:8080/vulnerabilities/xss_d/?default=English ></option></select><img src=1 οnerrοr=alert('hack')>
可以看到,我们的语句成功执行了
我们查看源代码,可以看到,我们的语句已经插入到页面中了