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:
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.
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.