概念:
XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。
XSS 的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合在一起了,浏览器没有办法分辨哪些脚本是可信的,从而导致了恶意代码的执行。
攻击者可以通过这种攻击方式可以进行以下操作:
(1)获取页面的数据,如DOM、cookie、localStorage;
(2)DOS攻击,发送合理请求,占用服务器资源,从而使用户无法访问服务器;
(3)破坏页面结构;
(4)流量劫持(将链接指向某网站);
攻击类型 XSS 可以分为存储型、反射型和 DOM 型:
(1)存储型指的是恶意脚本会存储在目标服务器上,当浏览器请求数据时,脚本从服务器传回并执行。
(2)反射型指的是攻击者诱导用户访问一个带有恶意代码的 URL 后,服务器端接收数据后处理,然后把带有恶意代码的数据发送到浏览器端,浏览器端解析这段带有 XSS 代码的数据后当做脚本执行,最终完成 XSS 攻击。
(3)DOM 型指的通过修改页面的 DOM 节点形成的 XSS。
存储型 XSS 的攻击步骤:
1.攻击者将恶意代码提交到⽬标⽹站的数据库中。
2.⽤户打开⽬标⽹站时,⽹站服务端将恶意代码从数据库取出