前端面试 安全相关篇

1.XSS是怎样的攻击过程

XSS全称跨站脚本攻击(Cross Site Scripting),为了与重叠样式表CSS区分,换了另一个缩写XSS。

核心就是将可执行的前端脚本代码(通常是js)植入到网页中,简单来说,就是攻击者想让你的浏览器执行他的脚本代码 实现的方式有:

①反射型
攻击者将代码,作为请求参数放置URL中,诱导用户点击
用户点击后,后端没有检查过滤,就简单处理放入网页正文中返回给浏览器,
浏览器解析返回的网页

②存储型
将攻击脚本存储入库,等后面进行查询的时候,再将攻击脚本渲染到网页,返回到浏览器触发执行

③DOM型
用户打开网站后,js脚本从url中获取数据,从而导致了恶意代码的执行

常见的套路:
攻击者在网页回帖,帖子中包含js脚本 回帖提交给服务器,存储值数据库
其他网友查看帖子,后台查询该贴的回帖内容,构建完整的网页,返回浏览器
该网友浏览器渲染返回的网页

防范措施:
①对于数据获取渲染和字符串拼接的时候应该对可能出现的恶意代码情况进行判断。
②使用csp,csp的本质是建立一个白名单,告诉浏览器哪些外部资源可以加载和执行,从而防止恶意代码注入攻击。

2.CSRF 是怎样的攻击过程

CSRF是跨站请求伪造
核心思想是,在打开A网站的情况下,另开一个tab打开B恶意网站,此时在B网站的教唆下,对A网站发起一个http请求

这个过程的危害是: 这个http不是用户主动意图,而是B网站教唆
因为A网站已经打开,浏览器存有A网站下的cookie或其他用于身份验证的信息,这个请求会自动带上这些信息 A网站后端分不清这是不是用户自愿的

防范措施:

a.同源检测方法:服务器根据http请求头中origin或者referer信息来判断请求是否为允许访问的站点,从而对请求进行过滤 b.使用
CSRF
Token来进行验证,服务器向用户返回一个随机数token,当网站再次请求时,在请求参数中加入服务端返回的token,然后服务器对这个token进行验证

c.双重cookie验证的方法,服务器在用户访问网站页面时,想请求域名注入一个cookie,内容为随机数,当用户再次向服务器发送请求的时候,从cookie中取出这个字符串,添加到url参数中,服务器通过对cookie中的数据和参数中的数据进行比较,来进行验证。
缺点是:需要给每一个请求添加,且可能不止一台网站服务器,如果这个服务器没有保存token,就没办法验证了,这个时候,可以使用token构建方式解决
d.在使用cookie的时候设置Samesite,限制cookie不能作为被第三方使用,从而避免被攻击者利用

3.DDoS 是怎样的攻击过程

DDoS全称Distributed Denial of Service,分布式拒绝服务攻击
攻击者不断提出服务请求,让合法用户的请求无法及时处理

常用于攻击对外提供服务的服务器,常见的有web服务,邮寄服务,DNS服务,即时通讯服务等…

4.SQL注入是怎样的攻击过程

核心在于让web服务器执行攻击者期望的SQL语句,以便得到数据库中感兴趣的数据,火堆数据进行读取、修改、删除等操作

其常规套路是,将SQL语句放置于form表单或者请求参数中提交到后端服务器,后端服务器如果未做输入安全校验,直接变量取出进行数据库查询,很容易中招

流量劫持

流量劫持包括DNS劫持,mac物理地址欺骗,伪造的DHCP服务器,ARP攻击等

1.DNS劫持

首先需要了解DNS的作用,它是提供服务用来将域名转换成IP地址的

DNS 服务一旦被黑客控制,用户发起的各种域名解析,都将被暗中操控。
将正常网站解析成黑客服务器的 IP,并事先开启了 HTTP 代理,
用户还是能正常上网,并且几乎看不出任何破绽;只不过所有流量都是经由黑客的代理服务器收发的,
因而黑客可以轻易获取各种明文传输的密码,比如各种网站账号信息都将一览无余。

防范措施:手动设置一些权威的 DNS 服务器,例如谷歌的 8.8.8.8,4.4.4.4 会靠谱的多。

2.MAC 物理地址欺骗

交换机会绑定 MAC 地址和接口,数据包最终只发往一个终端。
如果攻击者伪造一个源地址,就能将这个地址关联到自己的接口上,以此获得受害者的流量。

不过,受害者接着再发出一个包,绑定关系又恢复原先正常的。
因此只要比谁发的频繁,谁就能竞争到这个 MAC 地址的接收权。
如果伪造的是网关地址,交换机就误以为网关电缆插到你接口上,网络环境里的出站流量瞬间都到了你这里。
这种危害极大,容易造成集体断网

防范措施:机器固定的网络,尽量绑定MAC和接口,同时,独立的子网段尽可能划分VLAN,避免过大的广播环境。

3.ARP攻击

ARP就是广播查询某个ip对应个的MAC地址,在用这个ip的人回个声,知道这个ip对应的MAC地址,就可以链路通信了(链路层只可以通过MAC地址通信)
如果攻击者冒充回复,并抢在受害者之前,伪造的答案也就先入为主了,ip被解析到错误的地址上,之后的通信都会被劫持了

防范措施:大部分路由器都会带有ARP防APR攻击的功能,客户端的ARP防火墙也数不胜数,系统也支持强制绑定IP和MAC的对应,必要还是可以使用

4.伪装的DHCP服务器

DHCP服务是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
而且存在多个DHCP服务器,分别予以回复,用户会选择接受最先收到的
攻击者就可以在内网里开启DHCP服务,给用户回复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小邓不爱吃芹菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值