科普:什么是XSS跨站脚本攻击?

(图转自bytebytego,翻译整理by dogstar)

关于跨站脚本攻击(XSS),你应该知道的知识。

XSS全称(Cross Site Scripting)跨站脚本攻击, 是最常见的web应用程序安全漏洞之一,是一种代码注入型的攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID等,进而伪造登录,非法获取你的数据。

要注意区别:反射型XSS 和存储型XSS 的区别。反射型XSS 一般是通过构造URL的方式传入带有恶意script代码脚本的非法参数,注入的脚本会立即执行;而存储型XSS 则是提交到目标网站的数据库中,随着时间的推移而持续存在,构成长期威胁。还有一种是DOM型XSS,取出和执行恶意代码由浏览器端完成,属于前端 JavaScript 自身的安全漏洞。前两者则属于服务端的安全漏洞。

想象一下这种情况:一个狡猾的黑客利用 XSS 偷偷地从用户浏览器中获取用户凭据,例如 cookie,可能导致未经授权的访问和数据泄露。这是一个令人不寒而栗的现实。

那么,应当如何防范XSS攻击呢?

包括但不限于:

1、纯前端渲染(例如 Vue 前后端分离,在不使用 v-html 情况下,Vue会自动转义html);

2、转义 HTML(不要相信客户端的任何输入,去除script脚本标签,或转义,不给恶意代码运行的机会);

3、针对 jsonp 回调函数,需要设置白名单;

4、输入内容长度控制、内容安全策略(CSP)、定期更新和补丁等;

#跨站脚本攻击(XSS) #漏洞 #攻击向量 #缓解策略 #网络防御 #数据安全