DVWA-10.1 XSS (DOM)(DOM型跨站脚本攻击)-Low
XSS
XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据恶意代码是否存储在服务器中,XSS可以分为存储型的XSS与反射型的XSS。
DOM型的XSS由于其特殊性,常常被分为第三种,这是一种基于DOM树的XSS。例如服务器端经常使用document.boby.innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型XSS可能是存储型,也有可能是反射型。
Low Level
前端源码
服务器端核心代码
<?php # No protections, anything goes ?>
可以看到,前端使用 document.write() 动态生成页面,服务器端代码没有任何的保护性措施!
页面本意是叫我们选择默认的语言,但是对default参数没有进行任何的过滤。
漏洞利用
我们可以构造XSS代码,访问链接:
http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=<script>alert('xss')</script>
可以看到,我们的script脚本成功执行了。
我们查看源代码,可以看到,脚本被插入到代码中,所以执行了。
参考:
https://www.freebuf.com/articles/web/123779.html
https://blog.csdn.net/qq_36119192/article/details/82932557