1、XSS攻击
简介
Xss英文全称Cross Site Scripting大家可能觉得很奇怪,那不是应该简称为CSS吗,是的,没有错,但是因为CSS已经被层叠样式表(Cascading Style Sheets, CSS)先占用了,所以为了不和它冲突,缩写改为了XSS
XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
攻击过程
1、for exmaple你有一个论坛,论坛有一个textarea区域允许用户评论,假设这个区域没有对用户输入做出任何限制
2、此时一个攻击者对你的评论区域输入一下内容:
然后点击提交,此时这段内容并保存到了数据库。
3、接下来用户打开这个页面时就会,界面就会弹出如下内容:
如果攻击者只是单纯的调皮
那么他会把评论内容修改为:
此时用户的网页会无限循环在界面上弹出alert框,导致用户无法使用此页面功能。
是的,到这里我们了解了XSS的攻击过程,那么问题来了,我们刚刚了解的是脚本攻击过程,那么所谓的跨站脚本攻击的跨站是怎么一回事呢?
那么接下来我讲一下攻击者很严肃的情况下进行的攻击。
现在需要修改一下评论区的内容,修改为如下:
Le me see see
地址
http://www.test.com/unknow.js里面到底放了些什么严肃的东西呢?
如下就是脚本地址里面所植入的代码:
是的,你没有看错,如此攻击者并能获取到你的登录用户名和密码,发送到预先定义好的请求上面,从而可以干一些羞羞的事情。
到这里,大家就能明白,为什么说是跨站了吧。
细心的朋友可能会发现js的同源策略里面已经禁止了跨域请求的限制(忘记了的朋友们赶紧去翻书,看看什么是
同源策略
),为什么还能做到外部url请求呢?
那么大家需要看的再仔细一点,脚本里面植入代码的请求方式并不是ajax请求,而是jsonp
的请求方式,jsonp是可以绕过js的跨域限制的,不熟悉的朋友们可以仔细研究一下跨域这一块的内容。
以上就是整个XSS
存储式攻击
的整个过程。XSS还有
反射型攻击类型,有兴趣的朋友们,请待下回分解。
原理
因为script标签可以放置到html页面的body中的任何标签下执行,所以当带有script标签评论加载到页面上时,就被当做了页面的一部分内容解析执行了。
危害
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击