La technique du « DNS rebinding » permet, lorsqu'un utilisateur ouvre une certaine page dans un navigateur, d'établir une connexion WebSocket à un service réseau du réseau interne qui n'est pas accessible directement via Internet. Pour contourner la protection utilisée dans les navigateurs contre le dépassement du domaine actuel (cross-origin), modifiez le nom d'hôte dans DNS. Le serveur DNS de l'attaquant est configuré pour envoyer deux adresses IP une par une : la première requête envoie la véritable IP du serveur avec la page, et les requêtes suivantes renvoient l'adresse interne de l'appareil (par exemple, 192.168.10.1).
La durée de vie (TTL) de la première réponse est fixée à une valeur minimale, ainsi lors de l'ouverture de la page, le navigateur détermine la véritable adresse IP du serveur de l'attaquant et charge le contenu de la page. La page exécute du code JavaScript qui attend l'expiration du TTL et envoie une deuxième requête, qui identifie désormais l'hôte comme 192.168.10.1. Cela permet à JavaScript d'accéder à un service au sein du réseau local, en contournant la restriction d'origine croisée.
Source: opennet.ru