Pikachu-Cross-Site Scripting-DOM型xss

DOM型xss

DOM型XSS漏洞是一种特殊类型的XSS,是基于文档对象模型 Document Object Model (DOM)的一种漏洞。是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。

dom就是一个树状的模型,你可以编写Javascript代码根据dom一层一层的节点,去遍历/获取/修改对应的节点,对象,值。通过Js去对网页进行修改,变化执行。

例如以下代码:

当点击try it ,调用 没有Function方法, 获得 id为demo的元素,然后修改 它的内容,让他为alert弹窗。

查看dom 型xss 的源代码

这里是把输入的xss标签,拼接到 <a 标签里;所以,关键是对这段代码构造闭合;

复制代码
<a href='"+str+"'>what do you see?</a>

而 str 就是我们可以控制的输入;单独把str抽出来看;

复制代码
<a href='X' onclick="alert()">'>what do you see?</a>

这样就可以构造一个完整的闭合, what 前面的 '> 可以不用管,当作时文本的一部分;

所以输入就是 X' οnclick="alert()">

这样就得到一个xss攻击 ;

w3school: HTML DOM 100实例_w3cschool

相关推荐
LuckySusu几秒前
【vue篇】Vue 数组响应式揭秘:如何让 push 也能更新视图?
前端·vue.js
LuckySusu2 分钟前
【vue篇】Vue 性能优化神器:keep-alive 深度解析与实战指南
前端·vue.js
LuckySusu2 分钟前
【vue篇】Vue 核心机制揭秘:为什么组件的 data 必须是函数?
前端·vue.js
LuckySusu4 分钟前
【vue篇】Vue 响应式陷阱:动态添加对象属性为何不更新?如何破解?
前端·vue.js
LuckySusu4 分钟前
【vue篇】Vue 异步更新之魂:$nextTick 原理与实战全解
前端·vue.js
LuckySusu4 分钟前
【vue篇】Vue 条件渲染终极对决:v-if vs v-show 深度解析
前端·vue.js
LuckySusu5 分钟前
【vue篇】单页 vs 多页:Vue 应用架构的终极对决
前端·vue.js
LuckySusu5 分钟前
【vue篇】Vue 核心指令原理解析:v-if、v-show、v-html 的底层奥秘
前端·vue.js
LuckySusu5 分钟前
【vue篇】Vue 进阶指南:如何在自定义组件中完美使用 v-model
前端·vue.js
LuckySusu6 分钟前
【vue篇】Vue v-model 深度解析:从表单到组件的双向绑定之谜
前端·vue.js