浏览器安全、XSS 攻击、CSRF 攻击、防御攻击、中间人攻击、网络劫持(浏览器攻击方式)

浏览器安全、XSS 攻击、CSRF 攻击、防御攻击、中间人攻击、网络劫持1. 什么是 XSS 攻击?
(1)概念
XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网

1. 什么是 XSS 攻击?

(1)概念

XSS攻击是指跨站脚本攻击,是一种代码注入攻击。攻击者通过将恶意脚本注入网站并在用户浏览器上运行来窃取cookie 和其他用户信息。

XSS的本质是网站不过滤恶意代码,将其与正常代码混合在一起。恶意代码之所以被执行,是因为浏览器无法区分哪些脚本是可信的。

通过这种攻击方法,攻击者可以:

它检索DOM、cookie、localStorage 等页面数据,发送适当的请求,占用服务器资源,并阻止用户访问服务器(将链接指向您的网站)。

(2)攻击类型

XSS 可分为保留型、传播型和DOM 类型。

存储是指恶意脚本存储在目标服务器上,当浏览器请求数据时,脚本从服务器返回并执行。反射是指攻击者诱骗用户访问包含恶意代码的URL,然后服务器接收数据并进行处理,然后将包含恶意代码的数据发送到浏览器,即浏览器解析XSS代码。然后作为脚本执行,最终完成XSS攻击。 DOM类型是指通过修改页面的DOM节点形成的XSS。

1)保存的XSS攻击步骤:

攻击者向目标网站的数据库发送恶意代码。当用户打开目标网站时,网站服务器从数据库中检索恶意代码,拼接成HTML,返回给浏览器。一旦用户的浏览器收到响应,它就会解析并执行该响应以及其中混合的任何恶意代码。恶意代码要么窃取用户数据并将其发送到攻击者的网站,要么模拟用户的操作并调用目标网站的接口来执行攻击者指定的操作。

这种类型的攻击常见于包含用户保存数据的网站功能,例如论坛帖子、产品评论和用户私人消息。

2)反射型XSS攻击流程:

攻击者创建一个包含恶意代码的特殊URL。当用户打开包含恶意代码的URL时,网站服务器会从URL中提取恶意代码,并将其与HTML结合起来,然后返回给浏览器。一旦用户的浏览器收到响应,它就会解析并执行该响应以及其中混合的任何恶意代码。恶意代码要么窃取用户数据并将其发送到攻击者的网站,要么模拟用户的操作并调用目标网站的接口来执行攻击者指定的操作。

反射型XSS和存储型XSS的区别在于,存储型XSS的恶意代码存储在数据库中,而反射型XSS的恶意代码存储在URL中。

反射型XSS漏洞常见于通过URL传递参数的函数,例如网站搜索、跳转等。 恶意URL需要用户主动打开才能生效,因此攻击者经常使用多种方法来诱骗用户点击。

3)DOM型XSS攻击流程:

攻击者创建一个包含恶意代码的特殊URL。用户打开包含恶意代码的URL。当用户的浏览器收到响应时,会对其进行解析并执行,前端JavaScript会提取并执行URL中的恶意代码。恶意代码要么窃取用户数据并将其发送到攻击者的网站,要么模拟用户的操作并调用目标网站的接口来执行攻击者指定的操作。

DOM XSS与前两种XSS的区别: DOM XSS攻击中,恶意代码的清除和执行是由浏览器完成的。这是前端JavaScript 本身的安全漏洞。另外两类XSS都是服务器端安全漏洞。

2. 如何防御 XSS 攻击?

XSS 可能非常有害,因此您在开发网站时应该采取预防措施。具体措施如下。

阻止浏览器执行的一种方法是使用纯前端方法,服务器端拼接后不返回(不使用服务器端渲染)。另一种是完全转义任何需要插入HTML 的代码。 DOM类型的攻击主要是由不可靠的前端脚本引起的。在检索数据、渲染或连接字符串时,必须确定是否存在恶意代码的可能性。

使用CSP CSP的本质是建立一个白名单,告诉浏览器可以加载和运行哪些外部资源,从而防止恶意代码注入攻击。

CSP 指的是内容安全策略。其本质是建立一个白名单,告诉浏览器哪些外部资源可以加载和执行。你只需要设置规则,拦截方法就会由浏览器自己实现。通常有两种方式启用CSP。一种是通过在HTTP 标头中设置Content-Security-Policy,另一种是通过设置元标记meta http-equiv=\”Content-Security-Policy\”。

保护一些敏感信息,例如使用仅限http 的cookie 来防止脚本检索信息。您还可以使用验证码来防止脚本冒充您并执行某些操作。

3. 什么是 CSRF 攻击?

(1)概念

CSRF 攻击是指攻击者引诱用户访问第三方网站,然后第三方网站向目标网站发送跨站请求。如果用户将其登录状态保存在目标网站上,则攻击者可以使用此登录状态绕过后台用户身份验证并冒充用户在服务器上执行某些操作。

CSRF攻击的本质是利用源请求中向服务器发送cookie并冒充用户。

(2)攻击类型

常见的CSRF攻击有以下三种:

GET 类型的CSRF 攻击(例如在网站的img 标签内发出请求)会在用户打开网站时自动开始发送。 POST 类型的CSRF 攻击。创建表单、隐藏表单、在用户进入页面时自动提交表单等。链路型CSRF攻击。利用a标签的href属性发出请求,引导用户点击等。

4. 如何防御 CSRF 攻击?

CSRF攻击可以通过以下方法防御:

当进行同源检测时,服务器会根据http请求头中的origin或referrer信息来判断是否允许访问某个站点,并对请求进行过滤。如果origin和referrer信息都不存在,则直接阻止该请求。这种方法的缺点是在某些情况下referrer可能被伪造,搜索引擎链接也会被屏蔽。因此,虽然典型的网站允许来自搜索引擎的页面请求,但相应的页面请求也可以被攻击者利用。 (Referer 字段告诉服务器该网页是从哪个页面链接的。)使用CSRF 令牌进行验证。当网站再次发起请求时,将服务器返回的token添加给用户。填写请求参数,服务器将验证此令牌。虽然这种方法解决了使用cookie单一认证方法时可能出现的欺诈问题,但是这种方法的缺点是必须在网站内的每个请求中添加这个token,比较麻烦。另一个问题是通常不只有一台网站服务器。如果通过负载均衡将请求转发到另一台服务器,则无法验证它,因为令牌不会保留在该服务器的会话中。这种情况可以通过改变令牌的构造方式来解决。当用户访问网站上的页面时,服务器会在请求的域名中插入一个带有随机字符串的cookie。然后,当用户再次向服务器发送请求时,将检索该字符串。当您将cookie 数据添加到URL 参数时,服务器会通过将cookie 中的数据与参数中的数据进行比较来执行验证。这种方法利用了攻击者只能访问cookies,而不能访问cookies的事实。而且这种方式比CSRF token方式更加方便,并且不涉及分布式访问问题。此方法的缺点是,如果您的网站存在XSS 漏洞,则该方法将不起作用。同时该方法无法实现子域名分离。在设置cookie 属性时设置Samesite 可限制第三方对cookie 的使用,并防止攻击者使用它们。 Samesite 有两种模式。严格模式在任何情况下都不允许将cookie用作第三方cookie。在宽松模式下,cookie 用作GET 请求。

5. 什么是中间人攻击?如何防范中间人攻击?

中间人攻击(MITM) 是指攻击者与通信两端创建独立连接,交换接收到的数据,并欺骗通信两端认为它们正在通过私有连接进行通信。然而,实际上,整个对话完全由攻击者控制。中间人攻击允许攻击者拦截两方之间的通信并可能注入新内容。

攻击流程如下:

客户端向服务器发送请求,该请求被中介拦截。服务器将公钥发送给客户端并保存在自己手中。接下来,生成伪造的公钥并将其发送给客户端。客户端收到伪造的公钥后,生成加密的哈希值并将其发送到服务器中介以检索加密的哈希值。然后客户端使用自己的私钥。生成私钥进行解密并获取真实密钥并将其发送到服务器。服务器使用其私钥解密并得到假密钥。然后将加密的数据发送到客户端。

6. 有哪些可能引起前端安全的问题**? **

如何插入跨站点脚本(XSS) : 代码。为了区别于CSS,它被称为XSS。早期在线论坛中常见的情况是,网站没有严格限制用户输入,允许攻击者将脚本上传到帖子中,而其他用户则可以查看包含恶意脚本的页面。方法非常简单。包括但不限于JavaScript/CSS/Flash。 iframe 滥用: 默认情况下,iframe 内的内容无法运行iframe 或Flash 插件中的JavaScript 脚本。中、弹出对话框等。它会破坏前端用户体验。跨站点请求伪造(CSRF) : 是一种被动攻击,使经过身份验证的用户暴露于意外的个人或配置信息恶意第三方库: 后端服务器应用程序开发或前端应用程序开发但大多数时候它是用第三次在框架和各种类库的帮助下发展很快。 – 第三方库嵌入了恶意代码,很容易造成安全问题。

7. 网络劫持有哪几种,如何防范?

网络劫持有两种类型:

(1)DNS劫持:(如果你进入京东时被迫跳转到淘宝,这就是DNS劫持)

DNS 所需解析: 修改运营商的本地DNS 记录以将用户流量引导至缓存服务器302 进行重定向。 监控网络出口流量,分析判断哪些内容可能被劫持,并对被劫持的内存发起并引导302跳转响应。用户检索内容

(2)HTTP劫持:(去Google但总是看到探湾蓝广告),HTTP明文传输允许操作者修改HTTP响应内容(即添加广告)。

尽管DNS劫持被怀疑非法并受到监管,但http劫持仍然非常流行,并且使用全站HTTPS,对HTTP进行加密。一旦获得明文,您就无法劫持响应内容。

以上关于#浏览器安全、XSS攻击、CSRF攻击、防御攻击、中间人攻击、网络劫持等相关内容均来自互联网,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/94021.html

(0)
CSDN的头像CSDN
上一篇 2024年7月26日
下一篇 2024年7月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注