Curl Entrez le nom d'utilisateur et le mot de passe en commande

Curl Entrez le nom d'utilisateur et le mot de passe en commande
Le nom d'utilisateur et le mot de passe sont les formes d'authentification les plus élémentaires dans divers protocoles Web. Par conséquent, apprendre à passer les noms d'utilisateur et les mots de passe avec Curl est essentiel.

Cet article discutera de diverses méthodes de spécification des noms d'utilisateur et des mots de passe dans une demande Curl.

Curl spécifie le nom d'utilisateur et le mot de passe

Curl est un outil polyvalent et fournit donc plusieurs façons de passer un nom d'utilisateur et un mot de passe, chacun avec ses propres inconvénients.

La forme la plus élémentaire d'authentification fournie par Curl est le paramètre -U ou -User.

Le paramètre vous permet de spécifier un nom d'utilisateur et un mot de passe séparés par un côlon. La syntaxe de commande est comme indiqué:

$ curl -u nom d'utilisateur: mot de passe [url]

Par exemple:

$ curl -u "bob: passwd" https: // exemple.com

La commande ci-dessus utilise le -U pour passer le nom d'utilisateur «bob» et le mot de passe «passwd» à l'adresse https: // exemple.com

Les informations d'identification seront codées au format Base64 et passées dans l'autorisation: en-tête de base par curl.

L'image ci-dessous montre la demande ci-dessus interceptée avec Burpsuite.

Nom d'utilisateur et mot de passe dans l'URL.

Curl vous permet de passer un nom d'utilisateur et un mot de passe dans l'URL. La syntaxe est comme indiqué:

$ curl https: // nom d'utilisateur: mot de passe @ [url]

Par exemple:

curl https: // bob: passwd @ https: // exemple.com

La méthode ci-dessus vous permet de supprimer le paramètre -u.

Désavantages

Il y a plusieurs inconvénients à utiliser les deux méthodes discutées ci-dessus. Ceux-ci inclus:

  1. Les informations d'identification sont visibles dans votre historique de commandement.
  2. Lorsque vous travaillez avec des protocoles non cryptés, les informations d'identification peuvent être interceptées facilement.
  3. Les outils de liste de processus peuvent découvrir rapidement les informations d'identification.

Vous pouvez surmonter le deuxième inconvénient en vous abstenant de protocoles non cryptés, mais vous devez rechercher des alternatives pour les deux autres.

Pour empêcher les informations d'identification d'apparaître dans votre historique de bash, vous pouvez faire en sorte que Curl vous demande le mot de passe dans la session du terminal.

Force Curl à provoquer un mot de passe

Pour faire en sorte que Curl vous invite à un mot de passe, utilisez l'indicateur -u et passez le nom d'utilisateur comme indiqué dans la syntaxe ci-dessous:

Spécifiez le -u suivi du nom d'utilisateur. Considérez la syntaxe ci-dessous:

$ curl -u 'nom d'utilisateur "[url]

Par exemple:

$ curl -u 'bob' https: // exemple.com

La commande obligera Curl à vous demander le mot de passe.

boucler les références avec .fichier netrc

Si vous souhaitez empêcher les informations d'identification d'apparaître dans l'historique de votre commande ou les outils de liste de processus, utilisez le .NETRC ou un fichier de configuration.

Qu'est-ce qu'un .fichier netrc?
Le .Le fichier NetRC est un fichier texte qui contient des informations de connexion utilisées par les processus de blocage automatique. Curl prend en charge cette méthode pour passer les informations d'authentification.

Le .Le fichier NETRC est situé dans le répertoire personnel de l'utilisateur. Dans Windows, le fichier est sous le nom _netrc.

.Format de fichier NETRC.
Le .Le fichier NETRC suit un format simple. Tout d'abord, vous spécifiez la machine, nom suivi des informations d'identification associées à cette machine.

Le fichier utilise les jetons suivants pour spécifier diverses parties des informations d'autorisation.

  1. Nom de la machine - vous permet de spécifier le nom de la machine distante. Curl utilisera le nom de la machine qui correspond à la machine distante spécifiée dans l'URL.
  2. Par défaut - Ceci est similaire au nom de la machine, sauf qu'il identifie n'importe quelle machine. Le .Le fichier NetRC ne peut avoir qu'un seul jeton par défaut car il représente toutes les machines.
  3. Nom de connexion - Spécifie la chaîne de nom d'utilisateur pour cette machine. Les espaces ne sont pas pris en charge dans les noms d'utilisateur.
  4. String de mot de passe - Spécifie le mot de passe du nom d'utilisateur spécifié.

Ce qui précède est les seuls jetons que vous devez savoir lorsque vous travaillez avec Curl.

Vous pouvez en apprendre davantage ici:

https: // www.gnou.org / logiciel / inetutils / manual / html_node / the-_002enetrc-file.html

Exemple
Créer un .Entrée NetRC pour le nom d'utilisateur «Bob» et le mot de passe «Passwd». Nous pouvons ajouter:

$ nano .netrc

Ajoutez l'entrée en tant que:

exemple de machine.com connexion bob mot de passe passd

Dans l'entrée ci-dessus, nous disons à curl que la machine cible est un exemple.com. Ensuite, utilisez le nom d'utilisateur «Bob» et le mot de passe «passwd» pour authentifier.

Nous pouvons ensuite exécuter la commande:

$ curl --netrc-file ~ /.netrc https: // exemple.com

Ici, Curl localisera le spécifié .Fichier NetRC et correspondez au jeton qui correspond à l'URL https: // Exemple.com. Il utilisera ensuite les informations d'identification spécifiées pour se connecter.

Conclusion

Cet article a exploré les principes fondamentaux de l'exécution de l'authentification du nom d'utilisateur et du mot de passe avec Curl. Nous avons également couvert en utilisant un .Fichier NetRC pour effectuer une authentification sécurisée avec Curl.