Information Security 6 min read

Uncovering Broken Link Hijacking: Techniques, Real‑World Cases, and Detection Tools

This article explains broken link hijacking, detailing stored and reflected attack vectors such as account spoofing, external JavaScript takeover, information leakage, and content hijacking, provides real‑world examples, and introduces practical tools like broken‑link‑checker and twitterBFTD for discovering vulnerable expired links.

360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
Uncovering Broken Link Hijacking: Techniques, Real‑World Cases, and Detection Tools

Introduction

When a link points to an expired domain or page, Broken Link Hijacking (BLH) can occur. BLH has two types: reflected and stored. Although widely exploited in the wild, few researchers actively hunt for such links in bug bounty programs.

Stored BLH

2.1 Account Spoofing

When a company removes a social media account but leaves the link on its website, attackers can recreate the same account on the platform and impersonate the company.

2.2 External JS Hijacking

If an external JavaScript file is hosted on an expired domain, an attacker who takes over that domain can serve malicious code, achieving a stored XSS.

Example: <script src="//example.com/script.js"></script> where example.com has expired.

2.3 Information Leakage

Links lacking rel="noopener noreferrer" can leak information to the attacker‑controlled page when hijacked. Attackers may also monitor traffic to expired analytics pages to collect valuable data.

2.4 Content Hijacking

By taking over an expired domain, attackers can replace the page content. Notable cases include hijacking celebrity Twitter accounts.

Content hijack illustration
Content hijack illustration

Reflected BLH

When a reflected XSS vulnerability exists but the payload is constrained by href or src attributes, attackers can use expired links to bypass these restrictions.

3.1 Demonstration

Example: a page http://example.edu/?version=1.0.0 loads a JS file from cdn.example . If cdn.example is expired, an attacker can host a malicious script at the same path.

<script src="//cdn.example/1.0.0/script.js"></script>

Tools

4.1 broken-link-checker

Scans a target for expired links. Basic usage:

$ blc -rof --filter-level 3 https://example.com/

To reduce false positives, add exclusions:

$ blc -rfoi --exclude linkedin.com --exclude youtube.com --filter-level 3 https://example.com/

4.2 twitterBFTD

A small script published by misterch0c to find expired domains on Twitter.

information securitysecurity toolsbroken link hijackingreflected XSSstored XSS
360 Zhihui Cloud Developer
Written by

360 Zhihui Cloud Developer

360 Zhihui Cloud is an enterprise open service platform that aims to "aggregate data value and empower an intelligent future," leveraging 360's extensive product and technology resources to deliver platform services to customers.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.