0%

DVWA通关指南-XSS(Reflect)-反射性xss

概述

  • 上篇介绍了DVWA通关指南-DOM-XSS-DOM型跨站脚本攻击,本篇开始介绍(Reflect)-反射性xss

  • 反射性xss,主要需要通过URL构造等手段,才能触发的XSS漏洞,非持久化;反射型xss实际上是包括了dom - xss了,关键点仍然是在通过url控制了页面的输出(dom-xss也类似,只因为输出地点不同而导致结果不一致)。

  • 常见注入代码

1
2
3
<script>alert(1)</script>
<img src=1 onerror=alert(1) hidden="true"/>
<iframe onload=alert(1) height="0" width="0" hidden="true"/>

安全等级Low

image-20220214153149478

分析源码

  • 只是判断了name是否有值,其他没有做过滤

image-20220214153326675

开始攻击

直接修改name=<script>alert(1)</script>#

image-20220214154450772

安全等级为Medium

image-20220214154719159

源码分析

过滤了script标签

image-20220214154548875

开始攻击

直接把script改成大写:name=<Script>alert(1)</Script>#

image-20220214154936849

安全等级为High

image-20220214155355958

源码分析

替换所有与<script>相关的字符,那么就采用a或iframe等无需script标签的方式绕过。

image-20220214155324591

开始攻击

  • 采用a标签:name=<a href=http://XXX.xxx.xx.xx>登录</a>,可以直接点击登录

image-20220214160517561

安全等级为Impossible

image-20220214160654149

源码分析

用了htmlspecialchars函数,将特殊字符转换为 HTML 实体

image-20220214160741582

总结

  • 利用:如果没有对特殊字符进行HTML转义,都存在被XSS利用的漏洞

  • 防御:数据返回前端页面前,将【<】【>】【”】【’】【&】全转义了,既可!

  • 本文主要步骤来自这里