XSS 攻击也是比较常见,XSS,叫跨站脚本攻击(Cross-Site Scripting),因为会与层叠样式表 (Cascading Style Sheets, CSS) 的缩写混淆,因此有人将跨站脚本攻击缩写为 XSS。它指的是恶意攻击者往 Web 页面里插入恶意 html 代码,当用户浏览网页的时候,嵌入其中 Web 里面的 html 代码会被执行,从而达到恶意攻击用户的特殊目的。
XSS 攻击一般分三种类型:存储型 、反射型 、DOM 型 XSS
XSS 是如何攻击的呢?
简单说,XSS的攻击方式就是想办法“教唆”用户的浏览器去执行一些这个网页中原本不存在的前端代码。
拿反射型举个例子吧,流程图如下:
1. 攻击者构造出特殊的 URL,其中包含恶意代码。
2. 用户打开带有恶意代码的 URL 时,访问正常网站服务器
3. 网站服务端将恶意代码从 URL 中取出,拼接在 HTML 中返回给浏览器。
4. 用户浏览器接收到响应后解析执行,混在其中的恶意代码也被执行,请求恶意服务器,发送用户数据
5. 攻击者就可以窃取用户的数据,以此冒充用户的行为,调用目标网站接口执行攻击者指定的操作。
如何应对 XSS 攻击?
对输入进行过滤,过滤标签等,只允许合法值。
HTML 转义
对于链接跳转,如<a href="xxx" 等,要校验内容,禁止以 script 开头的非法链接。
限制输入长度
标签:XSS,攻击,恶意代码,用户,URL,避免,攻击者 From: https://blog.51cto.com/u_11344924/8194189