2017-05-11 3 views
0

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 
+2

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). –

+0

Gibt es einen Grund dafür, wenn es nicht sicher ist? Es sieht nicht besonders komprimiert aus. –

+1

[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

Antwort

2

Wenn Sie den Befehl ausführen:

echo anVqdWJhOmxhbGFsYWxh | base64 -d 

erhalten Sie jujuba:lalala zeigt, dass der Inhalt nur Base-64-codiert ist, welche der Standard für die Standardauthentifizierung ist.

Sie sollten HTTPS für jede Site verwenden, für die eine Authentifizierung erforderlich ist.

+0

In der Tat. Siehe die Spezifikation: https://greenbytes.de/tech/webdav/rfc7617.html#rfc.section.4.p.3 –

Verwandte Themen