web-dev-qa-db-fra.com

Est-ce une vulnérabilité pour afficher des messages d'exception dans une page d'erreur?

Notre application Web a une page d'erreur qui affiche le chemin d'URL absolu et la requête de la page sur laquelle l'erreur s'est produite, la date/heure de l'erreur et le message d'exception. (Nous n'imprimons pas la trace de la pile. C'est une vulnérabilité évidente.)

Est-ce une vulnérabilité pour afficher des messages d'exception dans une page d'erreur?

Pour une sécurité maximale, que devrions-nous afficher dans une page d'erreur? Que devrions-nous ne pas afficher?

Edit : mon hunch est que c'est est une vulnérabilité, mais je veux entendre un avis d'expert.

17
Matthew Rodatus

Dans certains cas, les messages d'erreur induisent des vulnérabilités. Dans le domaine de la cryptographie, le Cadding Oracle attaque peut récupérer une clé secrète en envoyant des messages cryptés modifiés et en utilisant un "oracle" qui distingue deux types de défaillance ("le remplissage était faux" vs "là-bas était un rembourrage valide, mais les données résultantes étaient Gibberish "). Les messages d'erreur détaillés ont un potentiel fort pour être un tel oracle. Dans une vue conceptuelle plus générale, les attaquants tenteront de découvrir des faiblesses en poussant au système et en observant ce qui se passe, et plus de données ne peuvent que les aider. Le message d'exception n'est pas qualitativement distinct de la trace de la pile, à cet égard; Donc, si la trace de la pile est une vulnérabilité "évidente", vous devez également être le message d'exception également.

19
Thomas Pornin

Les fuites de divulgation/chemin de chemin peuvent également être utilisées pour les applications d'empreintes digitales et leurs serveurs sous-jacents, en plus de fournir une énumération de surface d'attaque. Presque toutes les applications Web utilisant des pages dynamiques vont étancheront des chemins de serveurs Web locaux, parfois contenant des noms d'utilisateur et des annuaires évidemment vulnérables.

Ils peuvent également être exploités lors de l'inclusion de fichiers ou des attaques d'inclusion de scripts. Des précautions spéciales doivent être faites pour les fichiers PHP/CTP, ASP/ASPX et JSP/JSPX afin de prévenir les messages de divulgation du chemin d'être facilement transformés en une attaque d'inclusion de fichiers, qui peut (par exemple) lire des fichiers locaux.

8
atdre

Je n'appellerais pas nécessairement cela une vulnérabilité en soi. L'exception seule n'est probablement pas suffisante pour enfreindre la sécurité de votre serveur.

Mais c'est une faiblesse qui pourrait révéler des informations qui aident les attaquants ou leur donner un pied à la porte. Par exemple, cela pourrait révéler des informations sur le code ou la version du logiciel. Cela pourrait faciliter les attaquants d'essayer des attaques et de découvrir comment les modifier pour les faire fonctionner.

Parfois, parfois, les attaquants sont capables de réunir plusieurs faiblesses et de les combiner pour construire une exploitation complète. Aucune faiblesse seule n'est une vulnérabilité, c'est-à-dire qu'aucune faiblesse à elle seule permettrait aux assaillants de violer la sécurité de votre système. Mais lorsque les attaquants les combinent de manière intelligente, ils fournissent parfois suffisamment de pierres pour permettre une violation de la sécurité à part entière.

Pour ces raisons, je serais enclin à faire preuve de prudence quant à ces types de "faiblesses". Il semble plus sûr d'essayer de les éviter, si vous le pouvez.

1
D.W.