Hijacking

Le mot hijacking signifie en informatique la prise de contrôle, le détournement ou l'usurpation d'une ressource, d'une session, d'un flux, d'un compte, d'un navigateur, d'un domaine, d'une requête ou d'un appareil. C'est un terme générique utilisé surtout en cybersécurité.

Définition simple

Un hijacking se produit lorsqu'un attaquant réussit à se placer à la place d'un utilisateur, d'un site, d'un programme ou d'une communication légitime afin d'en tirer un avantage : accès non autorisé, vol d'information, interception, redirection, manipulation ou fraude.

Idée centrale

L'attaquant ne casse pas toujours tout le système. Il détourne souvent la confiance : cookie de session, DNS, onglet du navigateur, route réseau, compte utilisateur, jeton d'authentification, extension, presse-papiers, session SSH, appel API, etc.

Objectifs fréquents

  • Voler des comptes ou des sessions
  • Rediriger vers un faux site
  • Intercepter des données
  • Exécuter des actions à la place d'un utilisateur
  • Installer de la publicité, du spyware ou du malware
  • Contourner l'authentification

1. Session hijacking

C'est le détournement d'une session authentifiée. Si un attaquant récupère un cookie de session ou un jeton valide, il peut agir comme l'utilisateur sans connaître son mot de passe.

  • Vol de cookie
  • Session ID prévisible
  • Session non régénérée après connexion
  • Cookie exposé par XSS
  • Transport non chiffré

2. Browser hijacking

Le navigateur est détourné par une extension, un logiciel ou une configuration malveillante. Cela peut changer la page d'accueil, le moteur de recherche, injecter de la publicité ou suivre l'utilisateur.

3. DNS hijacking

Les requêtes DNS sont redirigées vers une mauvaise adresse IP. L'utilisateur croit aller sur le bon site alors qu'il arrive ailleurs.

4. Clickjacking

L'utilisateur clique sur un bouton qu'il ne voit pas vraiment, souvent caché sous une couche visuelle trompeuse. On détourne son clic vers une action inattendue.

5. Account hijacking

Le compte lui-même est pris en main après vol d'identifiants, réinitialisation frauduleuse, phishing, fuite de données ou faible sécurité du compte.

6. URL / domain hijacking

Détournement d'URL, de domaine, de sous-domaine ou de redirection afin d'envoyer les visiteurs vers une autre ressource.

Exemples de contextes touchés

Conséquences possibles

  • Usurpation d'identité numérique
  • Vol de données privées
  • Transferts financiers frauduleux
  • Publication ou suppression de contenu
  • Propagation latérale dans un système
  • Perte de confiance des utilisateurs
  • Compromission réglementaire ou contractuelle
  • Accès à des emails, CRM, panneaux d'admin
  • Persistance furtive de l'attaquant
  • Collecte de cookies, tokens, secrets

Signes d'alerte

Prévention côté web / PHP

Bon réflexe : pour PHP, le point essentiel est souvent la protection de la session, du cookie et du navigateur.

Exemple PHP de configuration de session

<?php
session_set_cookie_params([
    'lifetime' => 0,
    'path'     => '/',
    'domain'   => '',
    'secure'   => true,
    'httponly' => true,
    'samesite' => 'Lax'
]);

session_start();

if (empty($_SESSION['created_at'])) {
    session_regenerate_id(true);
    $_SESSION['created_at'] = time();
}

$timeout = 1800;
if (!empty($_SESSION['last_seen']) && (time() - $_SESSION['last_seen']) > $timeout) {
    session_unset();
    session_destroy();
    exit('Session expirée.');
}
$_SESSION['last_seen'] = time();
Cet exemple est défensif et pédagogique. Il ne remplace pas une architecture complète de sécurité.

Liens entre hijacking et autres attaques

Mesures pour utilisateurs

Mesures pour administrateurs / développeurs

Important : connaître le hijacking sert à mieux s'en protéger. Toute tentative de détourner des comptes, sessions, navigateurs ou flux de tiers sans autorisation est illégale et dangereuse.