环境准备
测试
打开 DVWA 靶场并登录,找到 DOM 型 XSS 页面(笔者这里是 Medium 级别)
跟 Low 级别一样,直接上手
<script>alert(/xss/)</script>
失败
逐步分析,先输入敏感字符 script 试试
再输出符号试试
也没问题,试试输入单个 <script>
原因找到了,过滤了 <script>
既然 JS 代码不行,就换 HTML 标签,反正它也没过滤符号
先闭合掉前面的 option 标签
<option>
再闭合掉 select 标签
</option></select>
最后随便加个标签,里面加点 JS 代码
</option></select><img src=# οnerrοr=alert(/xss/)>
成功
标签完美闭合