web安全
常见web安全
一 XSS
是什么
跨站脚本(XSS)允许攻击者将恶意代码注入到页面中
这些代码可以偷取用户数据 (特别是它们的登录数据),还可以冒充用户执行操作。它是 Web 上最常见的攻击方式之一。
比如,如果某个攻击者能骗你把 <script> 标签插入到 DOM,就可以在你的网站上运行任何代码。
除了 <script>,攻击者还可以使用很多 DOM 元素和属性来执行代码,比如 <img onerror="...">、<a href="javascript:...">。
如果攻击者所控制的数据混进了 DOM,就会导致安全漏洞。
如何防御
防范 XSS 攻击,必须阻止恶意代码进入 DOM。
CSP
CSP 的实质就是白名单制度,开发者明确告诉客户端,**哪些外部资源可以加载和执行,**等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。
HTTP 响应头Content-Security-Policy
允许站点管理者控制用户代理能够为指定的页面加载哪些资源。
CSP 大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。
二、CSRF
CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,它利用用户已登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作
三、点击劫持
点击劫持是一种视觉欺骗的攻击手段。攻击者将需要攻击的网站通过 iframe 嵌套的方式嵌入自己的网页中,并将 iframe 设置为透明,在页面中透出一个按钮诱导用户点击。