Alchemy-Cross-Site-Scripting-Schwachstelle

Jan 11 2023
Was ist Alchemie?
Alchemy ist die beliebteste Web3-Entwicklungsplattform. Es hilft Entwicklern beim Erstellen und Skalieren, indem es Ihre dApp sofort mit der Blockchain verbindet.

Alchemy ist die beliebteste Web3-Entwicklungsplattform. Es hilft Entwicklern beim Erstellen und Skalieren, indem es Ihre dApp sofort mit der Blockchain verbindet.

Am 20. August 2022 identifizierte das CredShields-Team eine Sicherheitslücke an einem Endpunkt von Alchemy. Dieser Blogbeitrag bietet einen Überblick über die Sicherheitslücke und die Maßnahmen, die das Alchemy-Team zu ihrer Behebung ergriffen hat.

Melden Sie sich mit der Alchemie-Funktion an:

Alchemy verfügt über eine Funktion, mit der Anwendungen von Drittanbietern sich über Alchemy anmelden können. Es ermöglicht einer Drittanbieteranwendung, begrenzten Zugriff auf einen HTTP-Dienst zu erhalten, der entweder im Namen eines Ressourceneigentümers erfolgt, indem eine Genehmigungsinteraktion zwischen dem Ressourceneigentümer und dem HTTP-Dienst orchestriert wird, oder indem der Drittanbieteranwendung ermöglicht wird, Zugriff in ihrem eigenen Namen zu erhalten . Es ähnelt der Anmeldung mit Google oder der Anmeldung mit der Facebook-Funktion, die in Web2 weit verbreitet ist.

Lassen Sie uns verstehen, wie es funktioniert:
Der Benutzer klickt auf der Website oder einer Anwendung eines Drittanbieters auf die Schaltfläche „Sign in Alchemy“.

  1. Die Website oder Anwendung leitet den Benutzer an den Alchemy-OAuth-Endpunkt mit einer Anforderung für den Zugriff auf die Alchemy-Kontoinformationen des Benutzers weiter.
  2. Der Benutzer wird aufgefordert, sich bei seinem Alchemy-Konto anzumelden, falls er noch nicht angemeldet ist.
  3. Der Benutzer wird gebeten, der Website oder Anwendung die Erlaubnis zu erteilen, auf seine Alchemy-Kontoinformationen zuzugreifen.
  4. Sobald der Benutzer die Erlaubnis erteilt, leitet Alchemy den Benutzer mit einem Autorisierungscode zurück zur Website oder Anwendung.
  5. Die Website oder Anwendung verwendet den Autorisierungscode, um eine Anfrage an den Token-Endpunkt von Alchemy zu stellen, um ein Zugriffstoken zu erhalten.

Wir bei CredShields haben versucht, einige Goreli-Testnet-Gelder zu bekommenhttps://goerlifaucet.com/. Wir haben versucht, uns über „Alchemy Login“ zu authentifizieren und haben die folgende URL bemerkt.

https://dashboard.alchemyapi.io/signup?a=goerli_faucet&redirectUrl=https://goerlifaucet.com

Da jegliche Form der Statusüberprüfung fehlte, waren wir zuversichtlich, dass wir eine URL-Weiterleitung veranlassen könnten. Eine offene URL-Umleitung ist jedoch nur dann bedenklich, wenn sie mit anderen Schwachstellen verkettet werden kann. Also suchten wir nach einer Eingabevalidierung, und sie fehlte. Wir haben den Eingabewert so ausprobiert javascript:alert(document.domain), um einen Cross-Site-Scripting-Proof-of-Concept auszuführen, und es hat funktioniert. Daher haben wir eine Cross-Site-Scripting-Schwachstelle in Alchemy.

Alchemy-Cross-Site-Scripting-Schwachstelle

Was ist Cross-Site-Scripting?

Cross-Site-Scripting (XSS)-Angriffe sind eine Art der Injektion, bei der bösartige Skripts in ansonsten harmlose und vertrauenswürdige Websites eingeschleust werden. Ein Angreifer kann XSS verwenden, um ein bösartiges Skript an einen ahnungslosen Benutzer zu senden. Der Browser des Endbenutzers kann nicht wissen, dass das Skript nicht vertrauenswürdig ist, und wird das Skript ausführen. Da es davon ausgeht, dass das Skript von einer vertrauenswürdigen Quelle stammt, kann das schädliche Skript auf alle Cookies, Sitzungstoken oder andere vertrauliche Informationen zugreifen, die vom Browser gespeichert und mit dieser Website verwendet werden. Diese Skripte können sogar den Inhalt der HTML-Seite umschreiben.

Wissen:

Wir vom CredShields-Team haben es uns zur Aufgabe gemacht, Web3 sicherer zu machen, also haben wir dem Alchemy-Team eine E-Mail geschickt. Das Team fand das Sicherheitsproblem gültig und behob die Schwachstelle am 22. August 2022.

Über SolidityScan:

Das Team hinter CredShields entwickelt SolidityScan. SolidityScan ist ein fortschrittliches Smart-Contract-Scan-Tool, das Schwachstellen entdeckt und Risiken im Code reduziert. Fordern Sie bei uns ein Sicherheitsaudit an und wir helfen Ihnen, Ihre Smart Contracts zu sichern. Melden Sie sich für eine kostenlose Testversion unter anhttps://solidityscan.com/signup

Folgen Sie uns auf unseren Social Media für sicherheitsrelevante Web3-Updates.
SolidityScan — LinkedIn | Zwitschern | Telegramm | Zwietracht