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

相关推荐
IT·小灰灰1 分钟前
Doubao-Seedream-4.5:当AI学会“版式设计思维“——设计师的七种新武器
javascript·网络·人工智能·python·深度学习·生成对抗网络·云计算
柠檬水不加冰_3 分钟前
Angular学习记录
javascript·学习·angular.js
黛色正浓6 分钟前
【React基础】篇章3:性能优化相关API&&编写类组件Class API&&zustand状态管理
javascript·react.js·ecmascript
2401_8604947010 分钟前
在React Native鸿蒙跨平台开发中实现一个桶排序算法,如何使用任何排序算法对每个桶中的元素进行排序,再将所有桶中的元素合并成一个有序数组
javascript·react native·react.js·ecmascript·排序算法·harmonyos
我爱学习_zwj12 分钟前
Node.js:从浏览器到服务器的JS革命
javascript·node
一字白首12 分钟前
Vue 进阶,组件三大组成 + 通信 + 进阶语法
前端·javascript·vue.js
小明记账簿21 分钟前
前端读取与导出XLSX文件实战指南(React+Ant Design)
前端·react.js·前端框架
打小就很皮...22 分钟前
前端 Word 导出:自定义页眉表格的实现方案
前端·word·react·页眉设置
JarvanMo33 分钟前
8 个你可能忽略了的 Flutter 小部件(四)
前端
学Linux的语莫35 分钟前
Vue前端知识
前端·javascript·vue.js