XSS是什么
Cross-site scripting,简称XSS,跨站脚本攻击。XSS是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在浏览网页的时候,就会受到影响
XSS的作用和危害
(1) XSS可以操作浏览器盗用cookie,得到内网ip,获取保存的密码,
入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
(2)窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作。
(3)网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马。
(4)发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用
XSS触发方法
通过一个经典语句弹窗检测
标签风格: <script>alert(1)</script>
伪协议触发: <a href=javascript:alert(1)>1</a>
事件方法: <img src=# onerror=alert(1) />
XSS的类型
1、反射型XSS
反射型XSS不会永久存储用户的数据,仅发生在用户的一次访问过程之后。这个过程就像一次反射,因此得名反射型XSS。反射型XSS的触发条件比较苛刻,需要攻击者想方设法引导用户点击链接,但产生的危害不容忽视
2、存储型XSS
存储型XSS又叫持久型,它是三种XSS里危害最大的一种。此类型的XSS漏洞是由于恶意攻击代码被持久化保存到服务器上,然后被显示到HTML页面之中。这类漏洞经常出现在用户评论的页面,攻击者精心构造XSS代码,保存到数据库中,当其他用户再次访问这个页面时,就会触发并执行恶意的XSS代码,从而窃取用户的敏感信息。
3、Dom型XSS
简单概括
Dom型XSS是通过JS可以操作浏览器和网页的接口
Dom型XSS可以不经过服务器请求
document对象属性:
document.body 提取body信息
document.domain 提取当前页面的域名
document.lastModifled 返回页面时间 检测网页是否静态
document.referrer 返回载入当前文档的文档url
document.title 返回当前的标题
document.utl 返回当前文档的url
document.cookie 读取cookie
document.write('ss') 修改当前页面`
哪些地方存在XSS
XSS有句话叫逢框就插,看见框插就对了
一般都是在聊天框、留言框、只要有JS代码的地方就可能存在
同源策略=>同源性法则
由于浏览器为了安全,它限制了js的操作能力,不同页面不能够读取或篡改信息
所谓同源:
需要:同域名/ip、同端口 、同协议 http//、https//