Meccanismo di Proof of Work
La documentazione descrive SCaptcha 2.3.0. Le funzioni dipendenti dalla configurazione sono indicate separatamente.
Verifica principale
Ogni challenge usa un salt indipendente di 32 byte generato in modo crittograficamente sicuro. L’installazione WoltLab convalida salt, hash, algoritmo, soluzione e HMAC nella sessione che l’ha emesso. La challenge scade dopo 60 secondi e non richiede provider CAPTCHA esterni.
Generazione della sfida
Il server genera un salt indipendente, crittograficamente casuale, di 32 byte per ogni nuova challenge. Nessun salt fisso dell’applicazione viene riutilizzato.
Firma del server
Viene creata una firma HMAC con il segreto di sessione per impedire al client di manomettere la sfida.
Attività lato client
Il client calcola iterativamente soluzioni combinando numeri con il salt fornito finché non corrisponde alla sfida, quindi invia un payload JSON base64 con algorithm, challenge, number, salt, signature e took.
Verifica della soluzione
Con il salt e il numero ricevuti, il server ricalcola la sfida, valida la firma HMAC e applica una finestra di scadenza di 60 secondi.
Regolare la complessità
La complessità si regola modificando i valori minimo e massimo del numero segreto generato casualmente. Valori più bassi si risolvono più velocemente; valori più alti aumentano il costo per l’automazione.