环境准备
如何搭建 DVWA 靶场保姆级教程(附链接)https://eclecticism.blog.csdn.net/article/details/135834194?spm=1001.2014.3001.5502
测试
打开靶场找到该漏洞页面
先右键检查输入框属性
跟 Low 级别是一样的,所以咱们直接输入带 HTML 标签的值提交并观察
<h1>morant</h1>
发现没有过滤和防护,确认存在漏洞
攻击
输入 JavaScript 代码提交并观察
发现并没有弹出警告,反而将弹出的代码输出了。猜测是因为后端将某些字符过滤了
分析
通常情况下,浏览器会将 <script>
标签解析为 JavaScript 代码。当 <script>
标签的大小写发生变化时,浏览器可能仍然能够解析执行 JavaScript 代码,因为 HTML 标签对大小写并不敏感。
输入全大写或大小写混淆的 <script> 标签进行攻击
<SCRIPT>alert("关注博主")</SCRIPT>
<ScRiPt>alert("关注博主")</ScRiPt>
攻击成功,
通过双写被要过滤的字符使其绕过,先判断哪些字符被过滤了,输入以下值
<script>66
提交后发现被过滤了 <script> 标签
于是咱们双写被过滤的部分,使其被过滤后重新组成了一个标签
<scr<script>ipt>alert("关注博主")</script>
攻击成功