Compartilhamento de tecnologia

[Segurança de Rede] Funções do SSRF do Microsoft Azure

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

a republicação não é permitida sem consentimento.

Diretório de artigos

texto

Azure Functions é um serviço de computação sem servidor que fornece toda a infraestrutura e recursos necessários sob demanda para a execução de aplicativos. Ele pode ser usado para construir APIs da Web, responder a alterações no banco de dados, processar fluxos de dados de IoT, gerenciar filas de mensagens e outras finalidades.

Primeiro crie um aplicativo de função:

imagem

Crie o código da função:

imagem

Após clicar em Funções, entre na seguinte página para configuração:

imagem

Insira um nome de amostra e selecione um modelo:

imagem

Após a criação do aplicativo de funções, selecione Código + Teste. São vários os pedidos enviados pelo cliente, incluindo dois pedidos especiais:

1、https://functions.azure.com/api/passthrough 
2、https://functions.azure.com/api/debug
  • 1
  • 2

imagem

Ao pesquisar na biblioteca GitHub, o código-chave é o seguinte:

imagem

Como você pode ver no pacote de solicitação correspondente a este código, o navegador envia nossa função customizada (BlobTrigger1.dat) enviou uma solicitação GET:

imagem

A partir da leitura da documentação, os dois parâmetros a seguir são usados ​​para autenticação em function.azure.com e são necessários para executar a solicitação:

imagem

Isso significa que após remover esses dois cabeçalhos, podemos enviar qualquer solicitação.

Em seguida, modificamos a url e obtivemos o endereço do servidor Azure Functions:

imagem

Ao enviar uma solicitação para https://www.nba.com, a resposta é a seguinte:

imagem

Acontece que a função application é usada para executar nossa solicitação.

Ao mesmo tempo, as informações sobre o endereço IP são obtidas enviando uma solicitação para https://www.infobyip.com/, e o User-Agent ecoado é axios/0.21.4, portanto a função é um módulo Node JS:

imagem

Depois de esclarecer as funções e características do programa de funções, você poderá utilizá-lo posteriormente.

explorar

Tentei acessar o serviço IMDS, mas não consegui acessar.mas pode enumerar uma porta interna potencialmente aberta41692

imagem

Através de enumeração adicional, foi confirmado que o endpoint interno era alcançável, conforme mostrado abaixo:

imagem
]

Através de enumeração adicional, foi confirmado que o endpoint interno era alcançável, conforme mostrado abaixo:

imagem

Fonte original: https://orca.security/resources/blog/ssrf-vulnerabilities-azure-functions-app/