Condivisione della tecnologia

[Sicurezza della rete] Funzioni di Microsoft Azure di SSRF

2024-07-12

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

non è consentito ripubblicare senza consenso.

Elenco degli articoli

testo

Funzioni di Azure è un servizio di elaborazione serverless che fornisce tutte le infrastrutture e le risorse necessarie su richiesta per l'esecuzione delle applicazioni. Può essere utilizzato per creare API Web, rispondere alle modifiche del database, elaborare flussi di dati IoT, gestire code di messaggi e altri scopi.

Per prima cosa crea un'applicazione di funzioni:

immagine

Crea codice funzione:

immagine

Dopo aver cliccato su Funzioni, accedere alla seguente pagina per la configurazione:

immagine

Inserisci un nome di esempio e seleziona un modello:

immagine

Dopo aver creato l'app per le funzioni, selezionare Codice + Test. Sono diverse le richieste inviate dal cliente, tra cui due richieste particolari:

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

immagine

Effettuando una ricerca nella libreria GitHub, il codice chiave è il seguente:

immagine

Come puoi vedere dal pacchetto di richiesta corrispondente a questo codice, il browser invia la nostra funzione personalizzata (BlobTrigger1.dat) ha inviato una richiesta GET:

immagine

Dalla lettura della documentazione, i due parametri seguenti vengono utilizzati per autenticarsi su Functions.azure.com e sono necessari per eseguire la richiesta:

immagine

Ciò significa che dopo aver rimosso queste due intestazioni, possiamo inviare qualsiasi richiesta.

Successivamente abbiamo modificato l'url e ottenuto l'indirizzo del server Funzioni di Azure:

immagine

Inviando una richiesta a https://www.nba.com, la risposta è la seguente:

immagine

Risulta che la funzione applicazione viene utilizzata per eseguire la nostra richiesta.

Allo stesso tempo, le informazioni sull'indirizzo IP si ottengono inviando una richiesta a https://www.infobyip.com/ e l'echo User-Agent è axios/0.21.4, quindi la funzione è un modulo Node JS:

immagine

Dopo aver chiarito le funzioni e le caratteristiche del programma funzione è possibile utilizzarlo ulteriormente.

impresa

Ho provato ad accedere al servizio IMDS ma non riesco ad accedere.ma può enumerare una porta interna potenzialmente aperta41692

immagine

Attraverso un'ulteriore enumerazione, è stato confermato che l'endpoint interno era raggiungibile, come mostrato di seguito:

immagine
]

Attraverso un'ulteriore enumerazione, è stato confermato che l'endpoint interno era raggiungibile, come mostrato di seguito:

immagine

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