xss dom型
1、发生场景
目标网站某处,响应页面中包含脚本,会读取数据作为eval等危险函数的参数或者直接赋值为innerHTML等敏感属性,从而造成危害。
参数来源可能是地址栏中的直接参数、路径参数或者hash,也可能是保存在cookie或本地存储中,还可能是当前页面的js变量、html元素的属性值或文本中。
换个角度来说,参数可能是在存在dom型漏洞响应页面对应的请求中,也可能是早已被攻击者存储到服务端的数据。
2、利用过程
攻击者测试发现dom型漏洞,有两种情况。
(1)对应反射型,受害者用户提交的请求中包含payload,或者在hash部分
(2)对应存储型,攻击者先提交payload保存到服务端,再由受害者用户访问
dom型漏洞,payload可能并不会提交到服务端
3、测试步骤
目前并没有太好的自动化分析方法,主要是分析可受攻击者控制的参数的流向,以及响应html中的敏感函数或属性。
判断,是否可以构造导致执行危害代码。
4、防护
((1)dom型xss的防护主要由前端进行,因为有可能payload并不会发送到服务端,以及payload长期保存在cookie和本地存储等情况
(2)尽量避免使用eval等危险函数,或者innerHTML等敏感属性
(3)参数在被危险函数或敏感属性使用前,进行敏感字符检查和字符转义
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战