Xhook Crossfire

  • Authentication flows:
  • Offline/Background queue:
  • Extensibility:
  • Size and footprint:
  • Observability:
  • The term "Crossfire" originates from network denial-of-service (DoS) strategies, specifically the Crossfire Attack. In a traditional Crossfire attack, an adversary does not flood a single server directly. Instead, they flood multiple decoy links within a network, causing legitimate traffic to collapse into a bottleneck. The result is a "crossfire" of packets that destroys network performance without ever directly targeting the victim’s IP.

    When merged with XHook, "Crossfire" evolves from a purely network-layer attack into an application-layer manipulation strategy. xhook crossfire

    If your xhook.before() calls fetch() or new XMLHttpRequest(), you will trigger yourself. Authentication flows:

    // DANGER: infinite loop
    xhook.before((req) => 
      fetch(req.url); // calls xhook again!
      return req;
    );
    

    Solution: Check for a custom flag.

    xhook.before((req) => 
      if (req.headers['X-Intercepted']) return req;
      req.headers['X-Intercepted'] = 'true';
      // now safe to call fetch
    );
    

    To visualize XHook Crossfire, consider a real-world example of a user named "Mark." Offline/Background queue:

    This is the crossfire. The user loses trust. The website loses revenue. The only winners are the script operators.

    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...
    Загрузка новости...