Vulnérabilité de script intersite Alchemy

Jan 11 2023
Qu'est-ce que l'Alchimie ?
Alchemy est la plateforme de développement web3 la plus populaire. Il aide les développeurs à construire et à évoluer en connectant instantanément votre dApp à la blockchain.

Alchemy est la plateforme de développement web3 la plus populaire. Il aide les développeurs à construire et à évoluer en connectant instantanément votre dApp à la blockchain.

Le 20 août 2022, l'équipe CredShields a identifié une vulnérabilité de sécurité sur un terminal d'Alchemy. Ce billet de blog fournira un aperçu de la vulnérabilité de sécurité et des mesures prises par l'équipe Alchemy pour la résoudre.

Connectez-vous avec la fonctionnalité Alchemy :

Alchemy a une fonction permettant aux applications tierces de se connecter via alchemy. Il permet à une application tierce d'obtenir un accès limité à un service HTTP qui est soit au nom d'un propriétaire de ressource en orchestrant une interaction d'approbation entre le propriétaire de la ressource et le service HTTP, soit en permettant à l'application tierce d'obtenir un accès en son propre nom. . Cela revient à se connecter avec Google ou à se connecter avec la fonction Facebook, ce qui est assez courant dans Web2.

Comprenons comment cela fonctionne :
L'utilisateur clique sur le bouton « Se connecter à Alchemy » sur un site Web tiers ou une application.

  1. Le site Web ou l'application redirige l'utilisateur vers le point de terminaison Alchemy OAuth avec une demande d'accès aux informations de compte Alchemy de l'utilisateur.
  2. L'utilisateur est invité à se connecter à son compte Alchemy s'il n'est pas déjà connecté.
  3. L'utilisateur est invité à autoriser le site Web ou l'application à accéder aux informations de son compte Alchemy.
  4. Une fois que l'utilisateur a accordé l'autorisation, Alchemy redirige l'utilisateur vers le site Web ou l'application avec un code d'autorisation.
  5. Le site Web ou l'application utilise le code d'autorisation pour adresser une demande au point de terminaison du jeton d'Alchemy afin d'obtenir un jeton d'accès.

Chez CredShields, nous essayions d'obtenir des fonds de Goreli testnet dehttps://goerlifaucet.com/. Nous avons essayé de nous authentifier via "Alchemy Login" et avons remarqué l'URL ci-dessous.

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

Étant donné que toute forme de vérification d'état manquait, nous étions convaincus que nous pouvions provoquer une redirection d'URL. Cependant, une redirection d'URL ouverte n'est un problème que si elle peut être enchaînée avec d'autres vulnérabilités. Nous avons donc cherché la validation des entrées, et elle manquait. Nous avons essayé la valeur d'entrée javascript:alert(document.domain)pour exécuter une preuve de concept de script intersite, et cela a fonctionné. Nous avons donc eu une vulnérabilité de script intersite dans Alchemy.

Vulnérabilité de script intersite Alchemy

Qu'est-ce que le cross-site scripting ?

Les attaques de type Cross-Site Scripting (XSS) sont un type d'injection dans lequel des scripts malveillants sont injectés dans des sites Web autrement bénins et fiables. Un attaquant peut utiliser XSS pour envoyer un script malveillant à un utilisateur sans méfiance. Le navigateur de l'utilisateur final n'a aucun moyen de savoir que le script ne doit pas être approuvé et exécutera le script. Parce qu'il pense que le script provient d'une source fiable, le script malveillant peut accéder à tous les cookies, jetons de session ou autres informations sensibles conservés par le navigateur et utilisés avec ce site. Ces scripts peuvent même réécrire le contenu de la page HTML.

Reconnaissance:

L'équipe CredShields a pour mission de rendre Web3 plus sécurisé, nous avons donc envoyé un e-mail à l'équipe Alchemy. L'équipe a trouvé le problème de sécurité valide et a corrigé la vulnérabilité le 22 août 2022.

À propos de SolidityScan :

L'équipe derrière CredShields construit SolidityScan. SolidityScan est un outil avancé d'analyse de contrats intelligents qui découvre les vulnérabilités et réduit les risques dans le code. Demandez un audit de sécurité avec nous et nous vous aiderons à sécuriser vos contrats intelligents. Inscrivez-vous pour un essai gratuit surhttps://solidityscan.com/signup

Suivez-nous sur nos médias sociaux pour les mises à jour liées à la sécurité Web3.
SolidityScan — LinkedIn | Gazouillement | Télégramme | Discorde