CURL Ingrese el nombre de usuario y la contraseña en el comando

CURL Ingrese el nombre de usuario y la contraseña en el comando
El nombre de usuario y la contraseña son las formas más básicas de autenticación en varios protocolos web. Por lo tanto, aprender a pasar nombres de usuario y contraseñas con curl es esencial.

Este artículo discutirá varios métodos para especificar los nombres de usuario y las contraseñas en una solicitud de curl.

curl especificar nombre de usuario y contraseña

Curl es una herramienta versátil y, por lo tanto, proporciona múltiples formas de pasar un nombre de usuario y contraseña, cada una con sus propios inconvenientes.

La forma más básica de autenticación suministrada por Curl es el parámetro -U o -User.

El parámetro le permite especificar un nombre de usuario y una contraseña separadas por un colon. La sintaxis del comando es como se muestra:

$ curl -u nombre de usuario: contraseña [url]

Por ejemplo:

$ curl -u "bob: passwd" https: // ejemplo.comunicarse

El comando anterior usa el -u para pasar el nombre de usuario 'bob' y contraseña 'passwd' a la dirección https: // ejemplo.comunicarse

Las credenciales se codificarán en formato base64 y se pasarán en la autorización: encabezado básico por curl.

La imagen a continuación muestra la solicitud de arriba interceptada con burpsuite.

Nombre de usuario y contraseña de curl en la URL.

Curl le permite pasar un nombre de usuario y contraseña en la URL. La sintaxis es como se muestra:

$ curl https: // nombre de usuario: contraseña@[url]

Por ejemplo:

curl https: // bob: passwd@https: // ejemplo.comunicarse

El método anterior le permite eliminar el parámetro -U.

Desventajas

Hay varios inconvenientes en el uso de los dos métodos discutidos anteriormente. Éstas incluyen:

  1. Las credenciales son visibles en su historial de comando.
  2. Cuando se trabaja con protocolos no entrelazados, las credenciales se pueden interceptar fácilmente.
  3. Las herramientas de listado de procesos pueden descubrir rápidamente las credenciales.

Puede superar el segundo inconveniente abstenerse de protocolos no entrelazados, pero debe buscar alternativas para los otros dos.

Para evitar que las credenciales aparezcan en su historial de bash, puede hacer que Curl le solicite la contraseña en la sesión de terminal.

Obligar a Curl a solicitar contraseña

Para hacer que Curl le solicite una contraseña, use el indicador -U y pase el nombre de usuario como se muestra en la sintaxis a continuación:

Especificar el -u seguido del nombre de usuario. Considere la sintaxis a continuación:

$ curl -u 'nombre de usuario' [url]

Por ejemplo:

$ curl -u 'bob' https: // ejemplo.comunicarse

El comando obligará a Curl a pedirle la contraseña.

credenciales de rizos con .archivo netrc

Si desea evitar que las credenciales aparezcan en su historial de comandos o herramientas de listado de procesos, use el .netrc o un archivo de configuración.

¿Qué es un .archivo netrc?
El .El archivo NETRC es un archivo de texto que contiene información de inicio de sesión utilizada por los procesos Auto-Login. Curl admite este método para aprobar credenciales de autenticación.

El .El archivo NETRC se encuentra en el directorio de inicio del usuario. En Windows, el archivo está bajo el nombre _netrc.

.Formato de archivo NETRC.
El .El archivo NETRC sigue un formato simple. Primero, especifica la máquina, nombre seguido de las credenciales asociadas con esa máquina.

El archivo utiliza los siguientes tokens para especificar varias partes de la información de autorización.

  1. Nombre de la máquina: le permite especificar el nombre de la máquina remota. Curl usará el nombre de la máquina que coincida con la máquina remota especificada en la URL.
  2. predeterminado: esto es similar al nombre de la máquina, excepto que identifica cualquier máquina. El .El archivo NETRC solo puede tener un token predeterminado, ya que representa todas las máquinas.
  3. Nombre de inicio de sesión: especifica la cadena de nombre de usuario para esa máquina. Los espacios no son compatibles con los nombres de usuario.
  4. String de contraseña: especifica la contraseña para el nombre de usuario especificado.

Los anteriores son los únicos tokens que necesita saber cuando se trabaja con curl.

Puedes aprender más aqui:

https: // www.ñu.org/software/inetUtils/manual/html_node/the -_002Enetrc-archivo.html

Ejemplo
Para crear un .Entrada NETRC para el nombre de usuario 'Bob' y contraseña 'passwd'. Podemos agregar:

$ nano .netrc

Agregue la entrada como:

Ejemplo de máquina.com login bob contraseña pasada

En la entrada anterior, le dicemos a Curl que la máquina de destino es un ejemplo.comunicarse. Luego, use el nombre de usuario 'bob' y la contraseña 'passwd' para autenticar.

Luego podemos ejecutar el comando:

$ curl--netrc-archivo ~/.netrc https: // ejemplo.comunicarse

Aquí, Curl localizará el especificado .archivo netrc y coincidir con el token que coincide con la URL https: // ejemplo.comunicarse. Luego usará las credenciales especificadas para iniciar sesión.

Conclusión

Este artículo exploró los fundamentos de realizar la autenticación de nombre de usuario y contraseña con curl. También cubrimos usando un .archivo netrc para llevar a cabo una autenticación segura con curl.