跨站脚本攻击又被称为xss。xss属于客户端攻击,攻击者在我们的网页中嵌入恶意脚本,当用户使用浏览器浏览这些被嵌入恶意脚本的网页的时候,脚本就会在我们的浏览器中执行。xss攻击的核心方式是 脚本。这些脚本通常是javascript脚本,从这个层面来说javascript能做的事情,xss攻击一般都能做到。比如;获取页面内容,盗取用户cookie,劫持前端逻辑,发送非法请求,盗取页面数据,url跳转等。
我们一般把xss分为三类:
1.反射型xss
反射型xss又被称为非持久型xss。当用户访问一个带有xss攻击代码的url请求的时候,向服务器发送请求,服务器接受请求后处理,并把客户端发送的xss攻击代码返回给客户端,客户端解析这段代码的时候,就有可能遭受xss攻击。
2.存储型xss
存储型xss又被称为持久化的xss,也是最危险的xss攻击方式。一旦攻击成功,就有可能造成大规模的xss攻击,也就是我们通常所说的xss蠕虫。
3.DOM型xss
我们可以通过JavaScript来操作dom树,所以,xss攻击也是能够做到这一点的。dom型xss攻击最大的危害就是改变我们网页的布局。这种类型的xss是不需要和服务器进行交互的,只发生在客户端处理阶段。