2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Das erneute Posten ist ohne Zustimmung nicht gestattet.
Azure Functions ist ein serverloser Computerdienst, der bei Bedarf alle notwendigen Infrastrukturen und Ressourcen für die Ausführung von Anwendungen bereitstellt. Es kann zum Erstellen von Web-APIs, zum Reagieren auf Datenbankänderungen, zum Verarbeiten von IoT-Datenströmen, zum Verwalten von Nachrichtenwarteschlangen und für viele andere Zwecke verwendet werden.
Erstellen Sie zunächst eine Funktionsanwendung:
Funktionscode erstellen:
Nachdem Sie auf „Funktionen“ geklickt haben, rufen Sie die folgende Seite zur Konfiguration auf:
Geben Sie einen Beispielnamen ein und wählen Sie eine Vorlage aus:
Nachdem die Funktions-App erstellt wurde, wählen Sie Code + Test aus. Es gibt verschiedene Anfragen des Kunden, darunter zwei Sonderwünsche:
1、https://functions.azure.com/api/passthrough
2、https://functions.azure.com/api/debug
Beim Durchsuchen der GitHub-Bibliothek lautet der Schlüsselcode wie folgt:
Wie Sie dem diesem Code entsprechenden Anforderungspaket entnehmen können, sendet der Browser unsere angepasste Funktion (BlobTrigger1.dat) hat eine GET-Anfrage gesendet:
Aus der Dokumentation geht hervor, dass die folgenden zwei Parameter zur Authentifizierung bei „functions.azure.com“ verwendet werden und für die Ausführung der Anfrage erforderlich sind:
Das bedeutet, dass wir nach dem Entfernen dieser beiden Header jede beliebige Anfrage senden können.
Dann haben wir die URL geändert und die Adresse des Azure Functions-Servers erhalten:
Wenn Sie eine Anfrage an https://www.nba.com senden, lautet die Antwort wie folgt:
Es stellt sich heraus, dass die Funktion application zur Ausführung unserer Anfrage verwendet wird.
Gleichzeitig werden Informationen über die IP-Adresse durch Senden einer Anfrage an https://www.infobyip.com/ abgerufen, und der zurückgegebene User-Agent ist axios/0.21.4, sodass die Funktion ein Node JS-Modul ist:
Nachdem Sie die Funktionen und Eigenschaften des Funktionsprogramms geklärt haben, können Sie es weiter nutzen.
Es wurde versucht, auf den IMDS-Dienst zuzugreifen, konnte aber nicht darauf zugreifen.kann aber einen potenziell offenen internen Port aufzählen41692:
Durch eine weitere Aufzählung wurde bestätigt, dass der interne Endpunkt erreichbar war, wie unten gezeigt:
]
Durch eine weitere Aufzählung wurde bestätigt, dass der interne Endpunkt erreichbar war, wie unten gezeigt:
Originalquelle: https://orca.security/resources/blog/ssrf-vulnerabilities-azure-functions-app/