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

相关推荐
yq19820430115622 分钟前
使用Django构建视频解析网站 从Naver视频下载器看Web开发全流程
前端·django·音视频
李明卫杭州1 小时前
在 JavaScript 中,生成器函数(Generator Function)
前端·javascript
Lethehong1 小时前
从安装到实测:基于 Claude Code + GLM-4.7 的前端生成与评测实战
前端
恋猫de小郭1 小时前
iOS + AI ,国外一个叫 Rork Max 的项目打算替换掉 Xcode
android·前端·flutter
宇木灵2 小时前
C语言基础-三、流程控制语句
java·c语言·前端
qq8406122332 小时前
Nodejs+vue基于elasticsearch的高校科研期刊信息管理系统_mb8od
前端·vue.js·elasticsearch
Quz3 小时前
QML与JavaScript 交互的四种方式
javascript·qt·交互
会周易的程序员3 小时前
cNetgate插件架构设计详解 动态库 脚本二开lua, python, javascript
javascript·c++·python·物联网·lua·iot
哆啦A梦15884 小时前
Vue3魔法手册 作者 张天禹 012_路由_(一)
前端·typescript·vue3
RaidenLiu5 小时前
别再手写 MethodChannel 了:Flutter Pigeon 工程级实践与架构设计
前端·flutter·前端框架