Идентификация устройств (Browser Fingerprinting)
Browser Fingerprinting — это метод удаленной идентификации веб-клиента, основанный на сборе уникальных характеристик его браузера и операционной системы. В отличие от традиционных файлов cookie, фингерпринт не хранится на устройстве пользователя. Система WAF собирает сотни параметров (доступные шрифты, особенности рендеринга Canvas и WebGL, аудио-контекст, язык, установленный часовой пояс, специфические настройки HTTP/2) и формирует из них хэш-сигнатуру устройства. Если с одного и того же отпечатка поступает лавина запросов, система классифицирует его как бота и блокирует, даже если он меняет IP-адреса и удаляет cookies.
// Пример Proof of Concept для сбора Canvas отпечатка в браузере
function getCanvasFingerprint() {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = "top";
ctx.font = "14px 'Arial'";
ctx.textBaseline = "alphabetic";
ctx.fillStyle = "#f60";
ctx.fillRect(125,1,62,20);
ctx.fillStyle = "#069";
ctx.fillText("AntiDDoS.su WAF, Canvas Fingerprint Test", 2, 15);
return canvas.toDataURL();
}
console.log("Canvas Hash Signature:", getCanvasFingerprint().substring(0, 50) + "...");