环境准备
如何搭建 DVWA 靶场保姆级教程(附链接) https://eclecticism.blog.csdn.net/article/details/135834194?spm=1001.2014.3001.5502
https://eclecticism.blog.csdn.net/article/details/135834194?spm=1001.2014.3001.5502
测试
打开 DVWA 靶场并登录,找到反射型 XSS 页面(笔者这里是 Low 级别)

先右键检查输入框属性

代码如下:
<form name="XSS" action="#" method="GET"><p>What's your name?<input type="text" name="name"><input type="submit" value="Submit"></p><input type="hidden" name="user_token" value="861684fb1e67c2b5baf6a896196ac462"></form>-  <form name="XSS" action="#" method="GET">:- name="XSS": 表单的名称为 "XSS"。
- action="#": 表单提交时将数据发送到当前页面。
- method="GET": 表单使用GET方法提交,将数据附加在URL上。
 
-  <p>What's your name? ... </p>:- 一个段落标签包含了表单的说明文本。
 
-  <input type="text" name="name">:- 文本输入框,用于用户输入名字。name="name"指定了该输入框的名称为 "name",这个名称将用于在提交时标识这个字段。
 
- 文本输入框,用于用户输入名字。
-  <input type="submit" value="Submit">:- 提交按钮,当用户点击它时,表单数据将被提交。
 
-  <input type="hidden" name="user_token" value="861684fb1e67c2b5baf6a896196ac462">:- 隐藏字段,用户不可见,但会随表单一起提交。这里的隐藏字段是一个名为 "user_token" 的字段,其值是 "861684fb1e67c2b5baf6a896196ac462"。通常用于在表单中包含一些需要传递给服务器但不希望用户看到的数据,比如安全令牌或验证信息。
 
输入正常值并提交

可以看到多个了 <pre> 标签

尝试输入 HTML 标签并提交观察反应
<h1>morant</h1>

发现嵌套在 <pre> 内,说明没有做过滤和防护

攻击
尝试输入 JavaScript 代码提交并观察反应

攻击成功,说明存在反射型 XSS 漏洞
