原理:
XSS的中文名称叫跨站脚本,是WEB漏洞中比较常见的一种。
特点:就是可以将恶意HTML/JavaScript代码注入到受害用户浏览的网页上,从而达到劫持用户会话的目的。
XSS根据恶意脚本的传递方式可以分为3种,分别为反射型、存储型、DOM型,前面两种恶意脚本都会经过服务器端然后返回给客户端,而DOM型不用将恶意脚本传输到服务器在返回客户端。
原理:
DOM型XSS就是基于DOM文档对象模型的。对于浏览器来说,DOM文档就是一份XML文档,当有了这个标准的技术之后,通过JavaScript就可以轻松的访问它们了。

低级
步骤:

  1. 代码查看;
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    页面测试:
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    没有对default参数进行任何过滤。
  2. 直接对default参数进行修改,页面出现弹窗,攻击成功。
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    浏览器:
    http://192.168.36.129/DVWA-master/vulnerabilities/xss_d/?default=%3Cscript%3Ealert(%27hack%27)%3C/script%3E
  3. 对页面进行元素查看,
    DVWA----DOM型XSS攻击演练---亲测(微笑)

中级
步骤

  1. 代码分析:
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    medium级别的代码先检查了default参数是否为空,如果不为空则将default等于获取到的default值。使用了stripos 用于检测default值中是否有 <scrip,如果有的话,则将 default=English。则过滤了 <script (不区分大小写)。
    测试:使用 执行就会变成 English。
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    DVWA----DOM型XSS攻击演练---亲测(微笑)
  2. 进行攻击
    1) 使用img、body等标签,使用<img src=1 οnerrοr=(‘hack’)>
    测试:
    火狐查看页面元素
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    谷歌查看页面元素:
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    img标签并没有发起任何作用。
    2) 根据源代码构造:
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    构造的代码:

测试:
DVWA----DOM型XSS攻击演练---亲测(微笑)
没有成功。
3) 继续构造语句,闭合select 标签:

DVWA----DOM型XSS攻击演练---亲测(微笑)

页面显示成功。
DVWA----DOM型XSS攻击演练---亲测(微笑)
查看源代码
DVWA----DOM型XSS攻击演练---亲测(微笑)
EnglishDVWA----DOM型XSS攻击演练---亲测(微笑) 也可攻击成功。
http://192.168.36.129/DVWA-master/vulnerabilities/xss_d/?default=English%3C/option%3E%3C/select%3E%3Cimg%20src=1%20οnerrοr=alert(/xss/)%3E
页面显示结果:
DVWA----DOM型XSS攻击演练---亲测(微笑)

高级
步骤:

  1. 代码分析:
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    使用了switch()函数,在这里相当于白名单,只允许传 default值为English、French、German、Spanish 其中一个。

  2. 使用:English #
    http://192.168.36.129/DVWA-master/vulnerabilities/xss_d/?default=English#%3Cscript%3Ealert(/xss/)%3C/script%3E
    DVWA----DOM型XSS攻击演练---亲测(微笑)
    3,页面结果,攻击成功。
    DVWA----DOM型XSS攻击演练---亲测(微笑)

相关文章: