Warum die SOCKS5-Passwortauthentifizierung mit Version 1 beginnt
Unterscheiden Sie die SOCKS5-Begrüßung vom Versionsfeld in ihrer Benutzername/Passwort-Unterhandlung.
Ein SOCKS5-Client beginnt mit Version 5 und sendet dann bei der Passwortauthentifizierung Version 1. Das ist nicht unbedingt ein Downgrade oder ein falscher Proxy.
Der erste Austausch handelt die SOCKS5-Authentifizierungsmethode aus. Wenn Benutzername/Passwort gewählt wird, definiert RFC 1929 eine separate Unterhandlung, deren Versionsfeld 0x01 ist.
Diese Authentifizierungsanfrage enthält Längen und Bytes für Benutzername und Passwort. Der Server gibt die Version der Unterhandlung und einen Status zurück. Erst nach erfolgreicher Authentifizierung sendet der Client die SOCKS5-Zielanfrage.
Halten Sie die beiden Austausche getrennt, wenn Sie einen Trace lesen oder einen Client implementieren. 0x05 überall zu wiederholen, weil der Dienst SOCKS5 heißt, erzeugt die falsche Authentifizierungsnachricht.
Ein erfolgreicher Passwortstatus bedeutet auch nicht, dass das angeforderte Ziel zulässig ist. Die folgende SOCKS-Antwort kann diese Verbindung trotzdem ablehnen.
Schließlich verschlüsselt diese Benutzername/Passwort-Methode ihre Anmeldedaten nicht. Das Versionsbyte kennzeichnet ein Nachrichtenformat, keinen verschlüsselten oder stärkeren Anmeldemodus.