【BootCDNStaticfile】CDN供应商被投毒后,应该如何替换对应的CDN

2024-08-24 17:52

本文主要是介绍【BootCDNStaticfile】CDN供应商被投毒后,应该如何替换对应的CDN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【BootCDN/Staticfile】CDN供应商被投毒后,应该如何替换对应的CDN

BootCDN作为老牌的,国内最大的免费CDN供应商之一,通过同步cdnjs仓库,提供了常用javascript组件的CDN服务。可以说,目前大多数的项目都或多或少的依赖了部分CDN服务。其实早在2023年,网上就已经发现了BootCDN被投毒的情况,与此同时,StaticfilePolyfillBootcss等同样开源的CDN服务提供商也被投毒了,由此引出了本文,CDN被投毒后,应该如何应对进行替换呢?

在这里插入图片描述

一、问题的背景

我也是最近接手了一个电商项目,该项目的框架较老,其中也使用了部分的BootCDN提供的CDN,虽然说暂时还没发现投毒的情况,但是已经注意到了这个问题,防范于未然嘛,所以就提前进行了CDN更换。

考虑到可能有小伙伴不了解CDN到底是什么,是如何运作的,这里简单介绍一下。

CDN 是 Content Delivery Network 的缩写,中文名为“内容分发网络”。它是一种广泛应用于互联网的技术和服务,用于加速向用户交付静态或动态网页内容,如 HTML 页面、图片、视频流、应用程序等。CDN 的主要目的是提高内容加载速度,减少源服务器的负载,并为用户提供更好的访问体验。

CDN 的工作原理

  1. 内容复制:CDN 从原始服务器获取内容副本,并将其存储在全球分布的边缘服务器上。
  2. 请求路由:当用户请求某个网站的内容时,CDN 会根据用户的地理位置将请求定向到最近的边缘服务器。
  3. 缓存和更新:边缘服务器缓存内容,并定期从原始服务器更新,以确保用户获取到最新版本的内容。

CDN 的优势

  • 减少延迟:用户可以从地理上更接近的服务器获取数据,从而降低延迟。
  • 增加可靠性:即使某些服务器出现故障,CDN 也可以通过其他节点继续提供服务。
  • 缓解带宽压力:分散了对源服务器的直接流量,减轻其带宽压力。

二、CDN是怎么被投毒的?

大家现在了解了什么是CDN,那么CDN是如何被投毒的呢?

据网上的资料显示,这几家CDN供应商被同一家公司收购了,随后在23年的6月,有网友爆出Bootcss被投毒的疑惑。

在这里插入图片描述

即便到现在,投毒行为仍在继续,大量用户反馈存在资源被投毒。

在这里插入图片描述

投毒实现的原理

CDN我们知道是通过获取服务器上的js来实现快速加载,因此攻击者通过利用CDN(内容分发网络)的缓存机制,将恶意内容注入到合法的CDN缓存中,从而使用户在访问合法网站时接收到恶意内容。

例如本次投毒事件中,当我们获取js文件的时候,会将一些恶意代码插入到js中,当然这并不是一定会触发,是有几率的,就是为了混淆你的判断。但是一旦出现这个情况,就会往我们需要的js文件中插入大量的恶意代码,并且会请求对应的资源,这些资源往往较大,因此会拖垮我们的网速和浏览器。

更有甚者会修改你的页面,在页面里面添加广告、不良信息等,并且将非法内容缓存到浏览器中,影响整个浏览器的运行。

附上几张被攻击的网图,本人没有受到攻击暂时没有图片,但是大家需要多多注意!!!(图片来源:GreatNXY)

在这里插入图片描述

img

img

三、如何解决

从技术上来讲,为了防止CDN投毒攻击,可以采取以下措施:

  1. 使用HTTPS:确保网站使用HTTPS加密,这样即使攻击者试图修改内容,也会被浏览器识别为不安全。
  2. 验证签名:使用签名验证来确保内容的完整性,例如使用HSTS(HTTP Strict Transport Security)或SRI(Subresource Integrity)。
  3. CDN配置:正确配置CDN,例如设置合理的缓存过期时间,确保缓存不会保留过长时间。
  4. 内容过滤:使用内容过滤机制来检测潜在的恶意内容。
  5. 监控和审计:定期监控网站的流量和内容,审计CDN缓存的内容,及时发现异常。
  6. 使用信誉良好的CDN服务提供商:选择提供安全功能和服务的支持的CDN供应商。

安全的CDN推荐

首先给大家推荐几个比较安全的CDN提供商

1、字节跳动静态资源公共库:由字节跳动提供的一个CDN加速服务站,字节的实力你懂的!官网地址

在这里插入图片描述

2、CDN.JS:一个基于github的cdn库,资源和速度都不错。官网地址

在这里插入图片描述

替换CDN服务

那么有了比较安全的CDN服务提供商了,那么我们应该如何替换掉不安全的CDN呢?这里以字节的网址为例。

比如说我在页面中引入了bootcss的CDN,这个CDN引用了xlsx库的0.12.7版本中的xlsx.core.min.js这个js文件。

<script type="text/javascript" src="https://cdn.bootcss.com/xlsx/0.12.7/xlsx.core.min.js"></script>

那么我就要去字节的CDN网址里面查找xlsx这个库

在这里插入图片描述

找到以后,点击这个库,然后在左侧的版本中,找到所需的版本与对应的js文件,然后点击复制TAG这个按钮,这样你就获得了引入的这一段js,如下:

在这里插入图片描述

<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/xlsx/0.12.7/xlsx.core.min.js" type="application/javascript"></script>

当然别忘记删掉不安全的CDN引用,这样你就完成了CDN的替换。到此恭喜你,以后做项目就更加安全可靠了!

这篇关于【BootCDNStaticfile】CDN供应商被投毒后,应该如何替换对应的CDN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103181

相关文章

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

编程应该用 Mac 还是 PC ?

『有人的地方,就有江湖』—徐克。笑傲江湖。     序     一个竞争的市场,就会有对立的产生,这世界存在著很多不同的领域,领域好比是个江湖的缩影,因此就有许多门派的纷争,例如说浏览器领域有著最大宗的IE派,门派成长速度飞快,武功版号跳的跟台湾物价指数一样快的Chrome门,不断被模仿,一直被超越的Opera派;韧性极强,一直对抗几大势力的Firefox派等等,程序语言也有自己的领域

notepad++ 正则表达式多条件查找替换

基础语法参考: https://www.cnblogs.com/winstonet/p/10635043.html https://www.linuxidc.com/Linux/2019-05/158701.htm   通常情况下我们查找的内容和要被替换掉的内容是一样的,我们只需要使用正则表达式精确框定查找内容,替换直接输入要替换的内容即可。 但有时会比较复杂,查找的内容,只需要替换其中

shell脚本中变量中字符串替换的测试 /和//的区别

test_char=abbbcbbbf echo "bf:test_char = " $test_char test_char=${test_char/bbb/ddd} echo "af:test_char = " $test_char 输出: bf:test_char =  abbbcbbbf af:test_char =  adddcbbbf 只匹配第一个

定位cpu占用过高的线程和对应的方法

如何定位cpu占用过高的线程和对应的方法? 主要是通过线程id找到对应的方法。 1 查询某个用户cpu占用最高的进程号 top -u 用户名 2 查询这个进程中占用cpu最高的线程号 top –p 进程号-H    3 查询到进程id后把进程相关的代码打印到jstack文件 jstack -l pid > jstack.txt 4 在jstack文件中通过16进制的线程id搜索到

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代,‌IP地址作为网络世界中的“门牌号”,‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备,‌使得数据能够在庞大的互联网中准确无误地传输。‌然而,‌对于IP地址与电脑之间的对应关系,‌许多人可能存有疑惑:‌一台电脑是否必须对应一个IP地址?‌两台电脑又是否可以共用一个IP地址呢?‌本文将深入探讨这些问题,‌带您一窥IP地址背后的奥秘。‌ 一台电脑对应一个IP地址吗?‌