What is `DOM注入攻击` does?

发布时间:2024年01月18日

DOM(Document Object Model)注入攻击,也称为DOM型跨站脚本(DOM-based XSS, 或简称DXSS),是一种特殊的跨站脚本攻击方式。不同于传统的存储型XSS反射型XSS,DOM注入攻击的关键在于客户端JavaScript动态修改了网页的DOM结构时引入了不受信任的数据。

在DOM注入攻击中,恶意数据不是由服务器端直接输出到HTML响应中的,而是源自于服务器提供的数据,并在浏览器端执行的JavaScript代码中被处理。当应用程序获取了用户输入的数据后,这些数据可能被用于更新页面内容,例如通过innerHTMLdocument.write()location.hash等DOM API进行操作。

如果这些操作没有对用户输入的数据进行适当的验证转义,攻击者就可以通过构造特定的输入来修改或控制页面的DOM结构,从而执行任意的JavaScript代码,进而实现窃取用户信息、模拟用户行为等恶意目的。

样例

var param = window.location.search.substr(1); // 获取查询字符串
document.getElementById('someElement').innerHTML = param; // 将查询字符串设置为元素内容

# 攻击者可以构造如下链接诱骗用户点击:
http://victim.com/page.html#"><script>alert(document.cookie)</script>
# 当用户访问该链接时,由于没有对param值做安全过滤,
# 这段JavaScript代码会被执行,显示用户的cookie信息。
文章来源:https://blog.csdn.net/weixin_37646636/article/details/135657697
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。