惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
罗磊的独立博客
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
博客园 - 叶小钗
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
博客园 - 【当耐特】
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
量子位
宝玉的分享
宝玉的分享
V
Visual Studio Blog
博客园_首页
IT之家
IT之家
V
V2EX
腾讯CDC
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
I
InfoQ
有赞技术团队
有赞技术团队
J
Java Code Geeks
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
H
Help Net Security

阿猪的博客

如何使用CNB构建Hexo项目并部署到腾讯云COS 好坑爹!派息后买入的股票怎么也扣股息税? 游哈尔滨 跨年往事 安装Ta-Lib时报错"Could not build wheels" 延迟退休正式到来!来看看有什么规定 我的基金怎么就被强制卖出了? Hexo-AlgoliaSearch插件报错“Error has occurred during indexing posts” 找工作避坑不完全指南 办理信用卡应该注意什么 华为Pad开启了“共享至电脑”,但是Windows下无法正常访问 webdriver-manager报错一例 Windows无法从环境变量中找到Python的正确位置 习大大2024年新年贺词 号外!号外!Twikoo可以直接屏蔽垃圾评论啦! 如何将Coding的代码仓同步到Github 博客被攻击了 华为Pad开启了“共享至电脑”,但是Ubuntu下无法正常访问 如何恢复Etcher刻录过的U盘 如何在Ubuntu下快速切换网络代理状态 在腾讯云函数中使用Pandas报错`No module named 'numpy.core._multiarray_umath'` 对空的DataFrame使用apply方法未得到预期结果 SQLite中使用关键字作为列名称导致报错 Logging模块重复输出内容的原因及解决方法 如何在Selenium中保持网站的登录状态 如何下载与Chrome浏览器的版本相匹配的ChromeDriver 如何下载旧版本Python的安装包 如何为不同的Python项目自动选择不同的解释器 使用腾讯云函数搭建Web站点 WordPress CORS问题一例 踩坑阿里云函数计算搭建WordPress 在AWS Amplify中部署Jekyll站点 让Chirpy主题支持折叠展示代码块 实现ChatGPT的文字输出效果 python中使用'''注释代码后引起报错 使用python自带的email模块解析邮件 使用pandas_bokeh在地图上显示数据 如何通过复权因子计算复权价格 国内量化平台不完全汇总
网站被恶意镜像了该怎么办
阿猪 · 2024-09-15 · via 阿猪的博客

网站被恶意镜像了该怎么办

  本文介绍阿猪遇到的一例网站被恶意镜像的案例,并记录阿猪的排查过程与应对措施。

一、问题场景

  阿猪无意间通过搜索引擎发现一个网站与阿猪的博客在名称、LOGO上一摸一样。打开链接后,更是惊讶的发现与阿猪的网站在样式和内容上完全一模一样,甚至连联系方式和ICP备案号都没有改动。

  这种行为一方面侵犯了阿猪的著作权,另一方面会对阿猪的网站在搜索引擎中的权重产生负面影响,同时还会从搜索引擎的搜索结果中抢走阿猪的访问流量。

二、排查过程

  通过查询该站的WHOIS信息,阿猪发现该域名是今年5月份通过厦门易名网络公司注册的,使用了CloudFlare的DNS解析和CDN服务。

  阿猪尝试在自己的页面中添加了一个时间戳,结果发现网站重新部署后,对方的网站页面中也同步出现了一样的时间戳。

  阿猪起初怀疑是自己的代码仓或者COS存储桶泄露了。但是检查后发现代码仓和COS存储桶都是私有状态,也没有与外部代码仓或者平台关联,部署脚本中也没有向外部进行推送的命令。出于谨慎,阿猪还重置了token。但是问题依然存在,对方的网站仍然能够实时同步更新。

  后来阿猪猜测对方可能是通过RSS来监控阿猪网站的更新,并进行同步更新。于是阿猪想到找出对方用于监控的服务器,然后屏蔽其IP。阿猪下载了网站更新部署期间的访问日志,筛选出几个可疑的IP,然后把对方网站CDN分配的所有IP都一并放进了黑名单。但是问题依然存在,对方的网站仍然能够实时同步更新。

  这令阿猪感到一筹莫展。不得不向度娘和群友们求助。

三、应对措施

  经过查阅网上相关的文章,以及群友们的指点,阿猪采取了如下几个措施,供遇到相似问题的读者参考:

1、在网站中添加防盗链跳转代码

  既然对方的网站是无脑同步阿猪的网站内容,那么阿猪就在自己的网站中添加一段JS代码,如果当前网站的域名不是阿猪的域名,则自动跳转到阿猪的网站,让对方白忙活。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script>
(function() {
var encodedValidDomain1 = 'eWZ6aHUuY24=';
var encodedValidDomain2 = 'bG9jYWxob3N0';
var encodedRedirectUrl = 'aHR0cHM6Ly95ZnpodS5jbi8=';


function decodeBase64(encodedStr) {
return atob(encodedStr);
}
var validDomain1 = decodeBase64(encodedValidDomain1);
var validDomain2 = decodeBase64(encodedValidDomain2);
var redirectUrl = decodeBase64(encodedRedirectUrl);


var hostname = document.location.hostname;
if (hostname !== validDomain1 && hostname !== validDomain2) {
window.location.href = redirectUrl;
}
})();
</script>

说明:
1、对阿猪自己的域名进行编码,目的是避免代码中直接明文出现yfzhu.cn,从而被自动替换为对方的域名。请自行替换为自己的域名和URL。(参考:Base64在线转换器
2、在判断逻辑中添加localhost,目的是方便本地调试。因为本地调试时一般是通过localhost访问网站的,它也会触发自动跳转。
3、阿猪使用的是Hexo框架和Butterfly主题,为了每一个页面都能包含这段JS代码,阿猪将代码放到了\themes\butterfly\layout\includes\head\analytics.pug文件的最后一行。如果你也打算将JS代码放入主题的PUG文件,请注意将代码开头的<script>改为script.,并且删去代码末尾的</script>

2、向域名的注册商报告滥用

  根据ICANN的政策,域名的注册商有义务配合被侵权者终止侵权行为。如果域名注册商是中国企业,我们还可以根据民法典、著作权法等法律法规向对方提出配合的要求。如果域名注册商是美国企业,我们还可以根据DMCA(Digital Millennium Copyright Act,数字千年版权法案)向对方提出配合要求。

  根据域名的WHOIS信息找到域名注册商的官方网站,然后将侵权事项通过EMail、在线客服等方式告知对方,要求对方停止为侵权域名提供DNS服务器地址更新服务。如果打算起诉侵权者的话,还可以要求对方配合提供侵权者的姓名、身份证号、联系电话、住址等信息。

3、向搜索引擎报告滥用

  参照第2条,向搜索引擎报告滥用,寻求对方的配合,将侵权者的网站从收录条目中剔除。

  参考:谷歌的举报违法内容页面

4、向域名的DNS解析服务商报告滥用

  参照第2条,向域名的DNS解析服务商报告滥用,寻求对方的配合,终止向侵权者提供DNS解析服务。

5、向网站的托管商报告滥用

  参照第2条,向网站的托管商报告滥用,寻求对方的配合,终止向侵权者提供服务。

  在本例中,对方网站使用的是CloudFlare的DNS解析服务,并疑似通过CloudFlare的Worker服务实现实时反向代理,所以阿猪基于DMCA向CloudFlare报告了滥用

6、向域名的注册局报告滥用

  每个域名的注册局都有防滥用(Anti Abuse)的政策,打开对应域名的注册局官网,然后找到报告域名滥用的页面,通过提交请求的方式将侵权事项告知对方。寻求对方的配合。