我们先随意的在输入框中输入意见和名字,根据提示我们进入后台登陆地址

地址为http://你的本地地址/pikachu/vul/xss/xssblind/admin.php

登录后可以看到我们刚刚提交的信息显示在后台

接下来我们在第一个输入框内写js代码<script>alert("xss")</script>,第二个输入框我们随便输入,提交。打开后台发现有弹窗,点击确定后,我们两次提交的数据如图所示:

XSS 盲打原理解析

这个场景是典型的存储型 XSS 盲打,攻击者提交的恶意脚本自己看不到效果,但会在后台管理员访问时触发。

1. 什么是 XSS 盲打

XSS 盲打本质上是一种存储型 XSS,只是攻击效果对攻击者不可见。

  • 普通存储型 XSS:攻击者提交恶意代码后,自己刷新页面就能看到弹窗效果。
  • XSS 盲打:攻击者提交的恶意代码,只有在后台管理员查看时才会执行,攻击者无法直接看到反馈。

这种攻击之所以叫 "盲打",是因为攻击者是在 "盲目" 地猜测后台页面是否存在 XSS 漏洞。

2. 这个靶场的完整攻击流程

  1. 攻击者提交恶意代码

    • 在 "你的大名" 和 "意见" 输入框中,插入恶意脚本,例如:<script>alert('XSS盲打成功')</script>
    • 提交后,系统仅提示 "谢谢参与",没有任何弹窗,攻击者看不到效果。
  2. 恶意代码被存储

    • 服务器将包含恶意脚本的内容存入数据库,等待后台管理员查看。
  3. 管理员触发漏洞

    • 当管理员登录后台(admin.php)并查看用户提交的意见时,服务器会从数据库中取出恶意脚本。
    • 脚本被拼接到后台页面的 HTML 中,管理员的浏览器解析时会执行这段代码,触发弹窗。

3. 核心原理

  • 信任链断裂:服务器信任了攻击者的输入,将恶意脚本存储起来,又在后台页面中直接输出。
  • 触发者不同:提交者和受害者不是同一个人,攻击效果只有后台管理员才能看到。
  • 隐蔽性强:攻击者无法直接确认攻击是否成功,只能通过盲猜和构造带外请求(如发送请求到自己的服务器)来验证。

4. 为什么这种漏洞危害大

  • 目标精准:直接瞄准拥有更高权限的后台管理员。
  • 持续存在:恶意脚本会一直存在于数据库中,直到被发现清理。
  • 难以发现:普通用户无法看到攻击效果,只有管理员访问后台时才会触发。
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐