一、简介XSS(crosssitescript)是指恶意攻击者利用网站不对用户提交的数据进行逃逸或过滤的缺点,然后添加一些代码并将其嵌入到网页中。.它是一种攻击方法,使其他用户在访问时执行相应的嵌入代码,从而窃取用户信息,利用用户的身份执行某些动作,或用病毒入侵访问者。XSS是一种经常出现在Web应用中的计算机安全漏洞,也是目前Web上最主流的攻击方式。二、原因分析主要原因:对客户提交的数据过于信任。客户端提交的数据本来是应用程序需要的,但是恶意攻击者利用网站对客户端提交数据的信任,在数据中插入了一些符号和javascript代码,那么这些数据就会成为应用程序代码的一部分。那么攻击者就可以肆无忌惮的攻击了。解决方法:不要相信客户端提交的任何数据,只要对客户端提交的数据进行相应的过滤后再进行下一步即可。三、XSS攻击的分类1、反射型XSS又称非持久性跨站脚本攻击,是最常见的XSS类型。该漏洞的出现是因为攻击者注入的数据反映在响应中。典型的非持久性XSS涉及带有XSS攻击媒介的链接(即每次攻击都需要用户点击)。2.存储型XSS也称为持久性跨站脚本。一般发生在XSS攻击向量(泛指XSS攻击代码)存储在网站数据库中,并在用户打开页面时执行。每当用户打开浏览器时,脚本就会执行。持久性XSS攻击比非持久性XSS攻击危害更大,因为每次用户打开页面并查看内容时都会自动执行脚本。3.DOMBasedXSS当用户可以交互修改浏览器页面中的DOM并显示在浏览器上时,可能会出现这种漏洞。实际上,它也是一个反射型XSS。通过修改页面DOM节点形成的XSS称为DOMBasedXSS。容易导致DOM型XSS的输入源包括:Document.URLDocument.referrerDocument.cookieWindow.nameLocation.[pathname|href|search|hash]localStorage/globalStorage3.XSS攻击绕过XSS-Filter,使用<>标签注入HTML/JavaScript代码;XSS攻击利用HTML标签的属性值。例如:
