Ich versuche herauszufinden, wie sicher curl -u
mit einem echten Benutzernamen und Passwort verwendet werden soll. Wenn man den Header einer solchen Anfrage untersucht, werden der Benutzername und das Passwort in eine Art Hash umgewandelt.Wie verwandelt cUrl -u Benutzername und Passwort in Hash?
unten Im Beispiel ist, scheint es jujuba:lalalala
-anVqdWJhOmxhbGFsYWxh
gedreht wird Ist diese Verschlüsselung oder Kompression? Ist es sicher? Wie dekodiert der Empfänger diese Daten?
curl -u jujuba:lalalala -i -X Get http://localhost:80/api/resource -v
* timeout on name lookup is not supported
* Trying 127.0.0.1...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to localhost (127.0.0.1) port 80 (#0)
* Server auth using Basic with user 'jujuba'
> Get /api/resource HTTP/1.1
> Host: localhost
> Authorization: Basic anVqdWJhOmxhbGFsYWxh
Die Standardauthentifizierung verwendet nur die Base64-Codierung für den Header. Es ist überhaupt nicht sicher, es sei denn, die Verbindung ist verschlüsselt (z. B. unter Verwendung von HTTPS). –
Gibt es einen Grund dafür, wenn es nicht sicher ist? Es sieht nicht besonders komprimiert aus. –
[RFC 2617, Abschnitt 2] (https://tools.ietf.org/html/rfc2617#section-2) behandelt die Spezifikation der HTTP-Basisauthentifizierung; So erstellen Clients diesen Hash und wie Server damit umgehen würden. – Castaglia