掌握跨站脚本的概念
什么是XSS跨站脚本
1、由于Web应用层序程序对用户的输入过滤不足产生的。
2、攻击者利用漏洞注入恶意JS代码到网页之中,当用户浏览网页时就会执行恶意代码。
3、主要可以对用户cookie资料窃取、会话劫持、钓鱼等。
攻击流程
在这里插入图片描述 解:攻击者向服务器发起XSS攻击注入JS代码,用户浏览被攻击的服务器发送浏览请求
服务器返回响应包含攻击者注入的代码
XSS的分类
XSS根据其特性和利用手法分为三大类:
1、反射性跨站脚本
2、存储性跨站脚本
3、DOM型的XSS
反射型跨站脚本
也称做参数型跨站脚本.
主要用于将恶意脚本附加到URL地址的参数中
例:http://127.0.0.1/XSS4.PHP?name=<-script>alert(“xss”)<-/script>
攻击原理:
攻击者将XSS恶意连接发送给受害者,受害者点击然后请求服务器,服务器执行恶意语句,并返回给受害者。
存储型跨站脚本
此类XSS不需要用户点击特定的URL就能执行脚本、
攻击者事先将恶意js代码上传到漏洞服务器中
当受害者浏览包含恶意js代码的页面就会执行恶意代码
攻击原理:
在这里插入图片描述
DOM型
会将html文件的节点构成树状结构
节点:主要分为三类:元素节点、文本节点、属性节点
DOM型XSS原理:
客户端的脚本程序通过dom的动态的检查和修改页面内容
程序执行不依赖于服务器端的数据,从客户端获得dom中的数据并在本地执行