2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
la republication n’est pas autorisée sans consentement.
Azure Functions est un service informatique sans serveur qui fournit à la demande toute l'infrastructure et les ressources nécessaires à l'exécution d'applications. Il peut être utilisé pour créer des API Web, répondre aux modifications de bases de données, traiter les flux de données IoT, gérer les files d'attente de messages et à bien d'autres fins.
Créez d’abord une application de fonction :
Créer un code de fonction :
Après avoir cliqué sur Fonctions, entrez dans la page suivante pour la configuration :
Saisissez un exemple de nom et sélectionnez un modèle :
Une fois l’application de fonction créée, sélectionnez Code + Test. Il existe diverses demandes envoyées par le client, dont deux demandes particulières :
1、https://functions.azure.com/api/passthrough
2、https://functions.azure.com/api/debug
En recherchant dans la bibliothèque GitHub, le code clé est le suivant :
Comme vous pouvez le voir sur le package de requête correspondant à ce code, le navigateur envoie notre fonction personnalisée (BlobTrigger1.dat) a envoyé une requête GET :
À la lecture de la documentation, les deux paramètres suivants sont utilisés pour s'authentifier auprès de function.azure.com et sont nécessaires pour exécuter la requête :
Cela signifie qu'après avoir supprimé ces deux en-têtes, nous pouvons envoyer n'importe quelle demande.
Ensuite nous avons modifié l'url et obtenu l'adresse du serveur Azure Functions :
En envoyant une demande à https://www.nba.com, la réponse est la suivante :
Il s'avère que la fonction application est utilisée pour exécuter notre requête.
Dans le même temps, les informations sur l'adresse IP sont obtenues en envoyant une requête à https://www.infobyip.com/, et le User-Agent renvoyé est axios/0.21.4, la fonction est donc un module Node JS :
Après avoir clarifié les fonctions et les caractéristiques du programme fonctionnel, vous pouvez l'utiliser davantage.
J'ai essayé d'accéder au service IMDS mais impossible d'y accéder.mais peut énumérer un port interne potentiellement ouvert41692:
Grâce à une énumération plus approfondie, il a été confirmé que le point de terminaison interne était accessible, comme indiqué ci-dessous :
]
Grâce à une énumération plus approfondie, il a été confirmé que le point de terminaison interne était accessible, comme indiqué ci-dessous :
Source originale : https://orca.security/resources/blog/ssrf-vulnerabilities-azure-functions-app/