I parametri in query string della GET fanno comunque parte dell'header ed è cifrato con TLS. Se sei un MitM non puoi decifrare il traffico passivamente, però se il tuo applicativo non controlla a dovere il certificato o la chain of trust puoi crearne uno self-signed e stabilire una connessione con quello (creando a tua volta una connessione con la vera chiave al vero applicativo), se però parliamo di un normale browser vedresti un avviso di sicurezza che ti avvisa dei problemi di certificato e ti chiede se vuoi proseguire, se non lo fai il segreto nell'url non verrà inviato (stessa cosa se è una richiesta in background da javascript).