Curl Digite nome de usuário e senha no comando

Curl Digite nome de usuário e senha no comando
Nome de usuário e senha são as formas mais básicas de autenticação em vários protocolos da web. Portanto, aprender a passar nomes de usuário e senhas com Curl é essencial.

Este artigo discutirá vários métodos para especificar nomes de usuários e senhas em uma solicitação de curl.

Curl Especifique o nome de usuário e a senha

Curl é uma ferramenta versátil e, portanto, fornece várias maneiras de passar um nome de usuário e senha, cada um com suas próprias desvantagens.

A forma mais básica de autenticação fornecida pela CURL é o parâmetro -u ou -User.

O parâmetro permite especificar um nome de usuário e senha separados por um cólon. A sintaxe do comando é como mostrado:

$ CURL -U Nome de usuário: senha [URL]

Por exemplo:

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

O comando acima usa o -u para passar o nome de usuário 'bob' e senha 'passwd' para o endereço https: // exemplo.com

As credenciais serão codificadas no formato Base64 e passadas na autorização: cabeçalho básico por CURL.

A imagem abaixo mostra a solicitação acima interceptada com burpsuite.

Curl Nome de usuário e senha no URL.

Curl permite que você passe um nome de usuário e senha no URL. A sintaxe é como mostrado:

$ Curl https: // nome de usuário: senha@[url]

Por exemplo:

Curl https: // bob: passwd@https: // Exemplo.com

O método acima permite remover o parâmetro -u.

Desvantagens

Existem várias desvantagens para usar os dois métodos discutidos acima. Esses incluem:

  1. As credenciais são visíveis em seu histórico de comando.
  2. Ao trabalhar com protocolos não criptografados, as credenciais podem ser interceptadas facilmente.
  3. As ferramentas de listagem de processos podem descobrir rapidamente as credenciais.

Você pode superar a segunda desvantagem, abstendo -se de protocolos não criptografados, mas precisa procurar alternativas para os outros dois.

Para impedir que as credenciais apareçam no seu histórico de bash, você pode fazer com que o Curl solicite a senha na sessão do terminal.

Force Curl para solicitar a senha

Para fazer o Curl solicitar uma senha, use o sinalizador -u e passe o nome de usuário, como mostrado na sintaxe abaixo:

Especifique o -u seguido pelo nome de usuário. Considere a sintaxe abaixo:

$ curl -u 'nome de usuário' [url]

Por exemplo:

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

O comando forçará o Curl a pedir a senha.

Creche de credenciais com .arquivo netrc

Se você deseja impedir que as credenciais apareçam no histórico de comando ou em ferramentas de listagem de processos, use o .netrc ou um arquivo de configuração.

O que é uma .arquivo netrc?
O .O arquivo netrc é um arquivo de texto que contém informações de login usadas pelos processos de logina automática. O CURL suporta esse método para aprovar credenciais de autenticação.

O .O arquivo NETRC está localizado no diretório inicial do usuário. No Windows, o arquivo está sob o nome _netrc.

.Formato de arquivo netrc.
O .O arquivo netrc segue um formato simples. Primeiro, você especifica a máquina, nome seguido pelas credenciais associadas a essa máquina.

O arquivo usa os seguintes tokens para especificar várias partes das informações de autorização.

  1. Nome da máquina - permite especificar o nome da máquina remota. Curl usará o nome da máquina que corresponde à máquina remota especificada no URL.
  2. padrão - isso é semelhante ao nome da máquina, exceto que identifica qualquer máquina. O .O arquivo netrc pode ter apenas um token padrão, pois representa todas as máquinas.
  3. Nome de login - Especifica a sequência de nome de usuário para essa máquina. Espaços não são suportados em nomes de usuário.
  4. String de senha - especifica a senha para o nome de usuário especificado.

O exposto acima são os únicos tokens que você precisa saber ao trabalhar com Curl.

Você pode aprender mais aqui:

https: // www.gnu.org/software/Inetutils/manual/html_node/the -_002Enetrc-File.html

Exemplo
Para criar um .Entrada do NetRC para o nome de usuário 'Bob' e senha 'Passwd'. Podemos acrescentar:

$ nano .netrc

Adicione a entrada como:

exemplo de máquina.com login bob senha passd

Na entrada acima, dizemos a Curl que a máquina de destino é exemplo.com. Em seguida, use o nome de usuário 'Bob' e a senha 'passwd' para autenticar.

Podemos então executar o comando:

$ CURL-NETRC-FILE ~/.Netrc https: // Exemplo.com

Aqui, Curl localizará o especificado .arquivo netrc e corresponde ao token que corresponde ao URL https: // Exemplo.com. Em seguida, usará as credenciais especificadas para fazer login.

Conclusão

Este artigo explorou os fundamentos da realização de autenticação de nome de usuário e senha com CURL. Nós também abordamos usando um .arquivo netrc para realizar autenticação segura com CURL.