Blog

Les codeurs conquièrent la sécurité : Share & Learn Series - Injection d'en-tête d'e-mail

Jaap Karan Singh
Publié le 21 mars 2019

De nos jours, il est courant que les sites web et les applications permettent aux utilisateurs d'envoyer des commentaires, des rappels de rendez-vous et divers autres éléments d'information par le biais d'une application utilisant le courrier électronique. Normalement, ce processus est assez bénin et la plupart des gens n'y pensent même pas en termes de risque potentiel pour la sécurité.

Cependant, comme tout autre élément de conception qui permet à l'utilisateur d'entrer des données, si elles ne sont pas correctement configurées, ces caractéristiques apparemment sans importance peuvent être manipulées par des utilisateurs malveillants à des fins répréhensibles. Il suffit de donner à l'utilisateur la possibilité d'entrer un code dans le champ de saisie qui est ensuite traité par erreur par le serveur. Soudain, une application de courrier électronique peut devenir une arme.

Dans cet épisode, vous apprendrez

  • Comment les attaquants peuvent-ils déclencher une injection d'en-tête de courrier électronique ?
  • Pourquoi les injections d'en-tête de courrier électronique sont-elles dangereuses ?
  • Techniques permettant de corriger cette vulnérabilité.

Comment les attaquants déclenchent-ils une injection d'en-tête de courrier électronique ?

Bien qu'on ne les considère pas souvent comme programmables, la plupart des applications de contact par courrier électronique ou des fonctions intégrées dans des sites web ou des applications peuvent accepter des données qui modifient la nature de la requête. Normalement, le serveur le fait automatiquement après que l'utilisateur a saisi ses informations, telles que son adresse électronique, dans le champ du contrat. Le programme configure alors le message, ajoute les destinataires appropriés et envoie le message en utilisant son serveur de messagerie par défaut.

Une demande POST de courrier électronique typique peut ressembler à ceci :

POST /contact.php HTTP/1.1
Hôte : www.example.com

Et générez un code qui ressemble à celui-ci après que l'utilisateur a saisi ses informations :

name=RealName&replyTo=RealName@ValidServer.com&message=YourAppointmentReminder

Le problème survient lorsque les pirates commencent à injecter du code dans le processus au lieu de se contenter des informations de contact. Il s'agit d'une attaque de type injection SQL, mais dirigée contre l'application de courrier électronique. Voici un exemple de requête manipulée qui enverrait du spam à partir de votre application à un utilisateur ciblé :

name=FakeName\nbcc : SpammedVictim@TargetAddress.com&replyTo= FakeName@ValidServer.com&message=Spammed message

Pourquoi l'injection d'en-tête de courrier électronique est-elle dangereuse ?

En fonction des compétences de l'utilisateur malveillant et de ses intentions, les attaques par injection d'en-tête de courrier électronique peuvent aller du simple ennui au plus grand danger en termes de gravité. Au bas de l'échelle de gravité, il peut être en mesure d'insérer ses coordonnées dans le champ BCC d'un message sortant envoyé à une boîte aux lettres secrète ou non divulguée au sein de votre entreprise, la révélant ainsi à un pirate informatique.

Plus inquiétant encore, cela pourrait leur permettre de contrôler complètement votre serveur de messagerie pour envoyer du spam, du phishing ou d'autres courriels d'attaque provenant de votre organisation. Ils n'auraient pas besoin d'essayer de simuler le fait que le courriel provient de vos serveurs internes, puisqu'il en serait réellement l'origine. Et si vous ne surveillez pas cette activité, ils peuvent même automatiser le processus, en envoyant des centaines ou des milliers de courriels en utilisant les serveurs de votre organisation, et de telle manière qu'il semble que vous êtes en fait à l'origine de cette activité.

Éliminer le problème de l'injection d'en-tête de courrier électronique

Comme pour l' injection SQL et d'autres attaques de cette nature, la clé pour éliminer la possibilité qu'un utilisateur malveillant exploite la vulnérabilité d'un en-tête de courrier électronique est de ne jamais faire confiance aux données saisies par l'utilisateur. Si un utilisateur est en mesure de saisir des informations, même s'il s'agit d'un processus apparemment anodin tel que la saisie de son adresse électronique, vous devez envisager le pire. Ou du moins supposer que le pire est possible.

La validation des entrées doit être effectuée pour tous les paramètres, y compris lors de l'ajout d'une capacité de contact par courriel à une application ou à un site web. La liste blanche peut être utilisée pour activer spécifiquement les processus et les champs que vous considérez comme valides, tout en refusant tout le reste. En fait, la plupart des frameworks ont des bibliothèques disponibles qui peuvent être utilisées pour aider à verrouiller les fonctions uniquement pour celles qui sont nécessaires. Vous éviterez ainsi que des codes ou des commandes saisis par des utilisateurs malveillants ne soient reconnus et traités par vos serveurs.

Plus d'informations sur Email Header Injections

Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP sur les injections d'en-têtes de messages électroniques. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à trouver et réparer une injection de courrier électronique dès maintenant ? Rendez-vous sur la plateforme et testez vos compétences : [Commencer ici]

Voir la ressource
Voir la ressource

Il est courant que les sites web et les applications permettent aux utilisateurs d'envoyer des commentaires et d'autres informations par l'intermédiaire d'une application en utilisant le courrier électronique. Et la plupart des gens n'y pensent même pas en termes de risque potentiel pour la sécurité.

Vous souhaitez en savoir plus ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Jaap Karan Singh
Publié le 21 mars 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :

De nos jours, il est courant que les sites web et les applications permettent aux utilisateurs d'envoyer des commentaires, des rappels de rendez-vous et divers autres éléments d'information par le biais d'une application utilisant le courrier électronique. Normalement, ce processus est assez bénin et la plupart des gens n'y pensent même pas en termes de risque potentiel pour la sécurité.

Cependant, comme tout autre élément de conception qui permet à l'utilisateur d'entrer des données, si elles ne sont pas correctement configurées, ces caractéristiques apparemment sans importance peuvent être manipulées par des utilisateurs malveillants à des fins répréhensibles. Il suffit de donner à l'utilisateur la possibilité d'entrer un code dans le champ de saisie qui est ensuite traité par erreur par le serveur. Soudain, une application de courrier électronique peut devenir une arme.

Dans cet épisode, vous apprendrez

  • Comment les attaquants peuvent-ils déclencher une injection d'en-tête de courrier électronique ?
  • Pourquoi les injections d'en-tête de courrier électronique sont-elles dangereuses ?
  • Techniques permettant de corriger cette vulnérabilité.

Comment les attaquants déclenchent-ils une injection d'en-tête de courrier électronique ?

Bien qu'on ne les considère pas souvent comme programmables, la plupart des applications de contact par courrier électronique ou des fonctions intégrées dans des sites web ou des applications peuvent accepter des données qui modifient la nature de la requête. Normalement, le serveur le fait automatiquement après que l'utilisateur a saisi ses informations, telles que son adresse électronique, dans le champ du contrat. Le programme configure alors le message, ajoute les destinataires appropriés et envoie le message en utilisant son serveur de messagerie par défaut.

Une demande POST de courrier électronique typique peut ressembler à ceci :

POST /contact.php HTTP/1.1
Hôte : www.example.com

Et générez un code qui ressemble à celui-ci après que l'utilisateur a saisi ses informations :

name=RealName&replyTo=RealName@ValidServer.com&message=YourAppointmentReminder

Le problème survient lorsque les pirates commencent à injecter du code dans le processus au lieu de se contenter des informations de contact. Il s'agit d'une attaque de type injection SQL, mais dirigée contre l'application de courrier électronique. Voici un exemple de requête manipulée qui enverrait du spam à partir de votre application à un utilisateur ciblé :

name=FakeName\nbcc : SpammedVictim@TargetAddress.com&replyTo= FakeName@ValidServer.com&message=Spammed message

Pourquoi l'injection d'en-tête de courrier électronique est-elle dangereuse ?

En fonction des compétences de l'utilisateur malveillant et de ses intentions, les attaques par injection d'en-tête de courrier électronique peuvent aller du simple ennui au plus grand danger en termes de gravité. Au bas de l'échelle de gravité, il peut être en mesure d'insérer ses coordonnées dans le champ BCC d'un message sortant envoyé à une boîte aux lettres secrète ou non divulguée au sein de votre entreprise, la révélant ainsi à un pirate informatique.

Plus inquiétant encore, cela pourrait leur permettre de contrôler complètement votre serveur de messagerie pour envoyer du spam, du phishing ou d'autres courriels d'attaque provenant de votre organisation. Ils n'auraient pas besoin d'essayer de simuler le fait que le courriel provient de vos serveurs internes, puisqu'il en serait réellement l'origine. Et si vous ne surveillez pas cette activité, ils peuvent même automatiser le processus, en envoyant des centaines ou des milliers de courriels en utilisant les serveurs de votre organisation, et de telle manière qu'il semble que vous êtes en fait à l'origine de cette activité.

Éliminer le problème de l'injection d'en-tête de courrier électronique

Comme pour l' injection SQL et d'autres attaques de cette nature, la clé pour éliminer la possibilité qu'un utilisateur malveillant exploite la vulnérabilité d'un en-tête de courrier électronique est de ne jamais faire confiance aux données saisies par l'utilisateur. Si un utilisateur est en mesure de saisir des informations, même s'il s'agit d'un processus apparemment anodin tel que la saisie de son adresse électronique, vous devez envisager le pire. Ou du moins supposer que le pire est possible.

La validation des entrées doit être effectuée pour tous les paramètres, y compris lors de l'ajout d'une capacité de contact par courriel à une application ou à un site web. La liste blanche peut être utilisée pour activer spécifiquement les processus et les champs que vous considérez comme valides, tout en refusant tout le reste. En fait, la plupart des frameworks ont des bibliothèques disponibles qui peuvent être utilisées pour aider à verrouiller les fonctions uniquement pour celles qui sont nécessaires. Vous éviterez ainsi que des codes ou des commandes saisis par des utilisateurs malveillants ne soient reconnus et traités par vos serveurs.

Plus d'informations sur Email Header Injections

Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP sur les injections d'en-têtes de messages électroniques. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à trouver et réparer une injection de courrier électronique dès maintenant ? Rendez-vous sur la plateforme et testez vos compétences : [Commencer ici]

Voir la ressource
Voir la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions que vous nous autorisiez à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Pour soumettre le formulaire, veuillez activer les cookies "Analytics". N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.

De nos jours, il est courant que les sites web et les applications permettent aux utilisateurs d'envoyer des commentaires, des rappels de rendez-vous et divers autres éléments d'information par le biais d'une application utilisant le courrier électronique. Normalement, ce processus est assez bénin et la plupart des gens n'y pensent même pas en termes de risque potentiel pour la sécurité.

Cependant, comme tout autre élément de conception qui permet à l'utilisateur d'entrer des données, si elles ne sont pas correctement configurées, ces caractéristiques apparemment sans importance peuvent être manipulées par des utilisateurs malveillants à des fins répréhensibles. Il suffit de donner à l'utilisateur la possibilité d'entrer un code dans le champ de saisie qui est ensuite traité par erreur par le serveur. Soudain, une application de courrier électronique peut devenir une arme.

Dans cet épisode, vous apprendrez

  • Comment les attaquants peuvent-ils déclencher une injection d'en-tête de courrier électronique ?
  • Pourquoi les injections d'en-tête de courrier électronique sont-elles dangereuses ?
  • Techniques permettant de corriger cette vulnérabilité.

Comment les attaquants déclenchent-ils une injection d'en-tête de courrier électronique ?

Bien qu'on ne les considère pas souvent comme programmables, la plupart des applications de contact par courrier électronique ou des fonctions intégrées dans des sites web ou des applications peuvent accepter des données qui modifient la nature de la requête. Normalement, le serveur le fait automatiquement après que l'utilisateur a saisi ses informations, telles que son adresse électronique, dans le champ du contrat. Le programme configure alors le message, ajoute les destinataires appropriés et envoie le message en utilisant son serveur de messagerie par défaut.

Une demande POST de courrier électronique typique peut ressembler à ceci :

POST /contact.php HTTP/1.1
Hôte : www.example.com

Et générez un code qui ressemble à celui-ci après que l'utilisateur a saisi ses informations :

name=RealName&replyTo=RealName@ValidServer.com&message=YourAppointmentReminder

Le problème survient lorsque les pirates commencent à injecter du code dans le processus au lieu de se contenter des informations de contact. Il s'agit d'une attaque de type injection SQL, mais dirigée contre l'application de courrier électronique. Voici un exemple de requête manipulée qui enverrait du spam à partir de votre application à un utilisateur ciblé :

name=FakeName\nbcc : SpammedVictim@TargetAddress.com&replyTo= FakeName@ValidServer.com&message=Spammed message

Pourquoi l'injection d'en-tête de courrier électronique est-elle dangereuse ?

En fonction des compétences de l'utilisateur malveillant et de ses intentions, les attaques par injection d'en-tête de courrier électronique peuvent aller du simple ennui au plus grand danger en termes de gravité. Au bas de l'échelle de gravité, il peut être en mesure d'insérer ses coordonnées dans le champ BCC d'un message sortant envoyé à une boîte aux lettres secrète ou non divulguée au sein de votre entreprise, la révélant ainsi à un pirate informatique.

Plus inquiétant encore, cela pourrait leur permettre de contrôler complètement votre serveur de messagerie pour envoyer du spam, du phishing ou d'autres courriels d'attaque provenant de votre organisation. Ils n'auraient pas besoin d'essayer de simuler le fait que le courriel provient de vos serveurs internes, puisqu'il en serait réellement l'origine. Et si vous ne surveillez pas cette activité, ils peuvent même automatiser le processus, en envoyant des centaines ou des milliers de courriels en utilisant les serveurs de votre organisation, et de telle manière qu'il semble que vous êtes en fait à l'origine de cette activité.

Éliminer le problème de l'injection d'en-tête de courrier électronique

Comme pour l' injection SQL et d'autres attaques de cette nature, la clé pour éliminer la possibilité qu'un utilisateur malveillant exploite la vulnérabilité d'un en-tête de courrier électronique est de ne jamais faire confiance aux données saisies par l'utilisateur. Si un utilisateur est en mesure de saisir des informations, même s'il s'agit d'un processus apparemment anodin tel que la saisie de son adresse électronique, vous devez envisager le pire. Ou du moins supposer que le pire est possible.

La validation des entrées doit être effectuée pour tous les paramètres, y compris lors de l'ajout d'une capacité de contact par courriel à une application ou à un site web. La liste blanche peut être utilisée pour activer spécifiquement les processus et les champs que vous considérez comme valides, tout en refusant tout le reste. En fait, la plupart des frameworks ont des bibliothèques disponibles qui peuvent être utilisées pour aider à verrouiller les fonctions uniquement pour celles qui sont nécessaires. Vous éviterez ainsi que des codes ou des commandes saisis par des utilisateurs malveillants ne soient reconnus et traités par vos serveurs.

Plus d'informations sur Email Header Injections

Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP sur les injections d'en-têtes de messages électroniques. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à trouver et réparer une injection de courrier électronique dès maintenant ? Rendez-vous sur la plateforme et testez vos compétences : [Commencer ici]

Accès aux ressources

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Voir le rapportRéservez une démonstration
Télécharger le PDF
Voir la ressource
Partager sur :
Vous souhaitez en savoir plus ?

Partager sur :
Auteur
Jaap Karan Singh
Publié le 21 mars 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :

De nos jours, il est courant que les sites web et les applications permettent aux utilisateurs d'envoyer des commentaires, des rappels de rendez-vous et divers autres éléments d'information par le biais d'une application utilisant le courrier électronique. Normalement, ce processus est assez bénin et la plupart des gens n'y pensent même pas en termes de risque potentiel pour la sécurité.

Cependant, comme tout autre élément de conception qui permet à l'utilisateur d'entrer des données, si elles ne sont pas correctement configurées, ces caractéristiques apparemment sans importance peuvent être manipulées par des utilisateurs malveillants à des fins répréhensibles. Il suffit de donner à l'utilisateur la possibilité d'entrer un code dans le champ de saisie qui est ensuite traité par erreur par le serveur. Soudain, une application de courrier électronique peut devenir une arme.

Dans cet épisode, vous apprendrez

  • Comment les attaquants peuvent-ils déclencher une injection d'en-tête de courrier électronique ?
  • Pourquoi les injections d'en-tête de courrier électronique sont-elles dangereuses ?
  • Techniques permettant de corriger cette vulnérabilité.

Comment les attaquants déclenchent-ils une injection d'en-tête de courrier électronique ?

Bien qu'on ne les considère pas souvent comme programmables, la plupart des applications de contact par courrier électronique ou des fonctions intégrées dans des sites web ou des applications peuvent accepter des données qui modifient la nature de la requête. Normalement, le serveur le fait automatiquement après que l'utilisateur a saisi ses informations, telles que son adresse électronique, dans le champ du contrat. Le programme configure alors le message, ajoute les destinataires appropriés et envoie le message en utilisant son serveur de messagerie par défaut.

Une demande POST de courrier électronique typique peut ressembler à ceci :

POST /contact.php HTTP/1.1
Hôte : www.example.com

Et générez un code qui ressemble à celui-ci après que l'utilisateur a saisi ses informations :

name=RealName&replyTo=RealName@ValidServer.com&message=YourAppointmentReminder

Le problème survient lorsque les pirates commencent à injecter du code dans le processus au lieu de se contenter des informations de contact. Il s'agit d'une attaque de type injection SQL, mais dirigée contre l'application de courrier électronique. Voici un exemple de requête manipulée qui enverrait du spam à partir de votre application à un utilisateur ciblé :

name=FakeName\nbcc : SpammedVictim@TargetAddress.com&replyTo= FakeName@ValidServer.com&message=Spammed message

Pourquoi l'injection d'en-tête de courrier électronique est-elle dangereuse ?

En fonction des compétences de l'utilisateur malveillant et de ses intentions, les attaques par injection d'en-tête de courrier électronique peuvent aller du simple ennui au plus grand danger en termes de gravité. Au bas de l'échelle de gravité, il peut être en mesure d'insérer ses coordonnées dans le champ BCC d'un message sortant envoyé à une boîte aux lettres secrète ou non divulguée au sein de votre entreprise, la révélant ainsi à un pirate informatique.

Plus inquiétant encore, cela pourrait leur permettre de contrôler complètement votre serveur de messagerie pour envoyer du spam, du phishing ou d'autres courriels d'attaque provenant de votre organisation. Ils n'auraient pas besoin d'essayer de simuler le fait que le courriel provient de vos serveurs internes, puisqu'il en serait réellement l'origine. Et si vous ne surveillez pas cette activité, ils peuvent même automatiser le processus, en envoyant des centaines ou des milliers de courriels en utilisant les serveurs de votre organisation, et de telle manière qu'il semble que vous êtes en fait à l'origine de cette activité.

Éliminer le problème de l'injection d'en-tête de courrier électronique

Comme pour l' injection SQL et d'autres attaques de cette nature, la clé pour éliminer la possibilité qu'un utilisateur malveillant exploite la vulnérabilité d'un en-tête de courrier électronique est de ne jamais faire confiance aux données saisies par l'utilisateur. Si un utilisateur est en mesure de saisir des informations, même s'il s'agit d'un processus apparemment anodin tel que la saisie de son adresse électronique, vous devez envisager le pire. Ou du moins supposer que le pire est possible.

La validation des entrées doit être effectuée pour tous les paramètres, y compris lors de l'ajout d'une capacité de contact par courriel à une application ou à un site web. La liste blanche peut être utilisée pour activer spécifiquement les processus et les champs que vous considérez comme valides, tout en refusant tout le reste. En fait, la plupart des frameworks ont des bibliothèques disponibles qui peuvent être utilisées pour aider à verrouiller les fonctions uniquement pour celles qui sont nécessaires. Vous éviterez ainsi que des codes ou des commandes saisis par des utilisateurs malveillants ne soient reconnus et traités par vos serveurs.

Plus d'informations sur Email Header Injections

Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP sur les injections d'en-têtes de messages électroniques. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à trouver et réparer une injection de courrier électronique dès maintenant ? Rendez-vous sur la plateforme et testez vos compétences : [Commencer ici]

Table des matières

Télécharger le PDF
Voir la ressource
Vous souhaitez en savoir plus ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstrationTélécharger
Partager sur :
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles