XSS (Reflected)-反射型XSS

发布于:2025-06-18 ⋅ 阅读:(23) ⋅ 点赞:(0)

🎯 一、反射型 XSS 的目的

反射型 XSS 是指攻击者将恶意 JavaScript 代码嵌入到 URL 参数中,当用户点击该链接并访问页面时,恶意脚本被浏览器执行,从而实现以下攻击目标:

✅ 1. 窃取敏感信息

  • 如:Cookie、Session ID、Token 等
  • 用于模拟用户登录,实现账户接管

✅ 2. 恶意跳转

  • 诱导用户点击链接跳转到钓鱼页面

  • 比如伪装成登录页面窃取账号密码

✅ 3. 执行任意操作

  • 利用当前用户身份发起操作(CSRF + XSS 联合)

  • 比如:更改密码、发送请求、删除数据

✅ 4. 浏览器端数据篡改

  • 动态篡改页面显示内容,诱导用户操作

  • 伪造按钮、表单、输入框等 UI 元素

🔐 二、为何叫“反射型”?

  • 因为恶意脚本不是存储在服务器上,而是临时“反射”在响应页面中
  • 脚本来自 URL 参数,服务端直接原样返回
  • 一旦页面刷新或用户跳转,攻击就失效(非持久)

📍三、DVWA测试

1.拉取 DVWA 镜像并运行:docker run --rm -it -p 8080:80 vulnerables/web-dvwa
打开浏览器访问:

http://localhost:8080

2.默认登录账号:

  • 用户名:admin
  • 密码:password
    3.设置数据库(第一次登录会提示):

点击左侧的 “DVWA Setup”(或顶部菜单),然后点击页面中的 “Create / Reset Database” 按钮。
4.点击左侧的 “XSS (Reflected)” 功能。

你会看到一个简单的表单,只有一个输入框,提示类似:

What’s your name?

在这里插入图片描述

🧪 Step 1:输入测试 Payload

在输入框里输入:

<script>alert('XSS')</script>

然后点击 Submit。

✅ 预期效果:
页面会刷新,同时浏览器会弹出一个提示框,显示内容为 XSS。
在这里插入图片描述

在这里插入图片描述

🔁 Step 2:确认漏洞是“反射型”

反射型 XSS 的特征是——你注入的脚本被立即反射回页面,例如你访问:

http://localhost:8080/vulnerabilities/xss_r/?name=<script>alert('XSS')</script>

你会发现你的输入直接出现在页面上,说明页面未做过滤/编码处理。
在这里插入图片描述

💡 Step 3:尝试其他 Payload

有些浏览器或安全等级会拦截

图片 onerror:

<img src=x onerror=alert('XSS')>

在这里插入图片描述

SVG onload:

<svg/onload=alert('XSS')>

在这里插入图片描述

JS URL 方案(有时配合链接):

<a href="javascript:alert('XSS')">Click me</a>

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到