DVWA - 3

文章目录

XSS(Dom)

XSS 主要基于JavaScript语言进行恶意攻击,常用于窃取 cookie,越权操作,传播病毒等。DOM全称为Document Object Model,即文档对象模型,此类XSS 漏洞不需要服务器解析响应,不依赖服务器的数据,直接从浏览器获取数据并执行。

low
  1. 查看页面,发现点击 select 后在地址栏里传输了参数,只有这个地方可以尝试进行攻击:
  2. 在地址栏里输入一个简单的 js 语句,进行弹框,页面确实执行了此 js 语句,攻击成功。
medium
  1. 尝试 low 中的方式输入 <script> 发现没有弹框,猜想可能 <script> 被过滤。查看源码果然是:

  2. 可尝试使用其他脚本语句进行攻击:

js 复制代码
//</option>和</select> 是F12查看页面代码时发现要闭合前面的标签
//onerror 表示如果加载图片失败则执行后面的语句
</option></select><img src=x onerror=alert(1)>
high
  1. 使用上述两种方式都无法注入,查看源码发现代码里对 default 参数进行了匹配,只允许特定的值存在:

  2. 但是代码只对 default 参数进行了校验,此种情况可以通过 & 连接符拼接参数进行攻击:

js 复制代码
&<script>alert(1)</script>
impossible

impossible 中没有进行特别的操作,只是在前端写代码时没有对参数进行解码,这样输入的参数都会经过URL编码,直接赋值给页面,不存在 xss dom 漏洞。

总结一下,避免 xss dom 漏洞可以通过以下方式:

  • 对所有的输入进行严格的校验,过滤常见的 js 标签;
  • 对用户输入进行编码,确保所有的 js 语句都不会被执行。
相关推荐
weixin_395050911 年前
upload-labs-1
靶场练习