本文内容:
~什么是DOM型XSS
~Dom型 XSS
~实战注意
一、什么是DOM型XSS
0,官方说法简直能把人绕晕,简单的说:
Dom的核心就是操纵document,document的核心就是操纵浏览器
每个载入浏览器的HTML文档都会成为document对象,所以注意一件事:
Dom型攻击与服务器基本没关系,document是一个JS语句
浏览器F12控制台运行的一般都是JS
二、Dom型 XSS
1,document常调用属性
cookie -- 设置或者返回文章有关cookie
body -- 提供对<body>元素的直接访问
lastModified 返回文档最后修改日期与时间
title 返回当前文档的标题
domain 返回当前文档的域名
write 返回自己写的语句
referrer 返回载入当前文档的文档的url
url 返回当前文档的url
2,伪静态
本质是动态页面,却把自己装作静态。
可以就通过 document.lastModified 来判断,看多次返回时间是否一致
3,JS支持Native编码(可以用在线网站相互转码Ascii)
将<script>alert(1)</script>编码为
\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u0028\u0031\u0029\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e
这个编码在控制台结合document.write('')一样可以在浏览器弹窗
4,总结一下Dom型Xss
输入语句原本不能造成XSS,但是经过JS处理之后产生了Xss
所以,从某种角度上来说。Dom型XSS既可以打出反射型xss,也可以打出存储型xss。
而且,大部分的Waf是拦截不了Dom型xss
最后,防御DOM型xss也很好防御,只要JS不进行处理就没用
三、实战注意
1,攻击步骤
1,准备XSS语句与xss平台
2,找xss可能存在的地方(一些框与url参数栏目)
3,先用反射型xss测试,有的话在用存储型xss
4,有狗可以换成DOM型,或者找找过狗语句
2,记得闭合
假如能打入语句,记得闭合语句,闭合语句!闭合语句!
不然,可能会吃国家饭