基本漏洞原理及防御(3)-DOM XSS
1.基本漏洞原理及防御(1)-sql注入2.sqlmap入门(1)
3.基本漏洞原理及防御(3)-DOM XSS
4.其他漏洞原理及防御(2) -逻辑漏洞5.其他漏洞原理及防御(1)-反序列化漏洞6.基本漏洞原理及防御(2)XSS(3)DOM XSS7.传统防火墙,WAF,IPS/IDS的原理与异同8.代理与反向代理9.基本漏洞原理及防御-(5)XXE(6)-文件包含10.基本漏洞原理及防御(5)-XXE11.mysql与sql语句的基本操作(3部分)12.云;云计算;云安全13.基本漏洞原理及防御(4)-CSRF14.WAF详解,检测与一些绕过方法15.基本漏洞原理及防御(11)-DOS:CC攻击16.基本漏洞原理及防御(10)-DOS:反射型Dos17.基本漏洞原理及防御(9)-DOS:基于资源耗尽的拒绝服务18.wireshark分析攻击流量的简单尝试19.wireshark分析攻击流量的简单尝试20.基本漏洞原理及防御(8)-DOS:基于内核处理的停止服务21.常见协议功能和端口22.基本漏洞原理及防御(7)-网站挂马23.github访问困难/缓慢的问题解决24.什么是堡垒机25.访问请求的后台操作、ip和域名(详解)DOM型XSS:
DOM:文档对象模型,是页面将元素以为对象的树状呈现的一种模型,以便于javascript组织处理。
每个页面都有很多的元素,当访问页面时,会创建一个顶级的文档对象,后续的元素则以树状排列为其余文档对象,各个对象有自己的属性等等。
而JS脚本修改页面则是通过查找树形文档对象模型,然后修改其属性来操作页面的。也就DOM模型。
所以也就是说JS脚本可以通过DOM来动态的修改页面,整个过程都是在浏览器端实现的,或者说前端,没有到达服务器,或是数据库。
而修改页面的这个接口,也就是对象属性。
利用原理:攻击者利用一些需要赋值的对象属性,来传入恶意脚本,从而当浏览器利用DOM进行新页面渲染的时候,执行我们传入的恶意操作。
常见的可利用的属性为:innerHTML,这个属性使用很多而且是可以被赋值的,所以常常出现安全问题。
然后是JS经常使用的DOM内置的location来传入用户的输入。
流程:攻击者传入带有参数的url,浏览器解析url,获得参数。然后浏览器调用DOM,改写属性来动态调整页面,这个过程也叫渲染。然后返回调整后的页面。在这一流程中,攻击者将脚本代码作为参数传入,就会利用DOM调用改写属性,从而执行恶意操作。
这叫做基于DOM的XSS。
此处如果,传入的参数先进入服务器,存入数据库,然后再被返回到本地浏览器做解析,再调用DOM渲染,执行恶意操作。则称为DOM存储型XSS。
所以是否是DOMXSS基于最终执行代码时,是否利用DOM接口。
防御:输入端做好特殊字符的转义,输出端先进行编码,如输出到HTML则进行HTML编码、输出到JS则进行JS编码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架