最近做的部门内部用的一个小项目要上线,上线前安全测试测出了存储型XSS漏洞,自己也通过这个机会学习了一下,在此记录
1、什么是XSS
XSS的中文含义是跨站脚本攻击,Cross Site Scripting,缩写为CSS,但容易与层叠样式表的缩写混淆,所以有人将其缩写为XSS
2、XSS原理
html是超文本标记语言,通过一些字符特殊对待来区分文本和标记,例如:<被看作html标签的开始,>被看作html标签的结束,那么<title>与</title>之间的内容就会被看作是标题。如果动态页面中插入的内容包含这些特殊字符(如:<等),用户浏览器就会将其误认为是html标签,如果被认为是html标签的内容中引入了一些js脚本,那么这些脚本就会在用户浏览器中执行,所以当这些特殊字符不能被动态界面检查或识别的时候,就会出现XSS漏洞。
3、XSS危害
1、窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
2、窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作。
3、网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马。
4、发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用。
4、XSS分类
反射型XSS