Maison >développement back-end >tutoriel php >Exploit : Comment abuser facilement des sites cibles via des messages d'erreur PHP

Exploit : Comment abuser facilement des sites cibles via des messages d'erreur PHP

王林
王林original
2023-05-11 08:56:03956parcourir

Avec le développement d'Internet, les questions de sécurité des sites Web attirent de plus en plus l'attention. Les méthodes d’attaque évoluent constamment et l’exploitation des vulnérabilités est devenue l’une des méthodes préférées des attaquants. Parmi eux, la méthode consistant à abuser du site cible via des messages d’erreur PHP est relativement courante. Cet article aborde ce problème et montre comment les attaquants peuvent exploiter les vulnérabilités pour compromettre facilement les sites cibles.

1. Les méfaits des fuites d'informations incorrectes

  1. Exposition de vulnérabilités de sécurité

De nombreux développeurs utiliseront des outils de débogage PHP ou des fonctions de sortie, telles que phpinfo(), var_dump(), etc. Lorsque ces fonctions sont exposées au réseau public, toutes les informations de configuration et valeurs variables de PHP sur le serveur seront affichées, causant de graves dommages à la sécurité du serveur. menacer.

  1. Injection SQL

Grâce au message d'erreur, l'attaquant peut obtenir les erreurs générées lors de l'accès à la base de données et ainsi apprendre les informations liées à la base de données . En combinaison avec d'autres méthodes de collecte d'informations, vous pouvez maîtriser des informations importantes telles que la structure complète de la base de données, le compte administrateur, le mot de passe, etc., et mener facilement des attaques par injection SQL.

  1. Fuite d'informations sensibles

En raison d'un développement inapproprié du programme, lorsqu'une erreur se produit, le message d'erreur peut contenir des informations sensibles, telles que le nom d'utilisateur , Mots de passe, clés, etc., une fois que les attaquants ont obtenu ces informations, ils peuvent facilement attaquer le site et causer des pertes irréparables.

2. Raisons de la fuite d'informations sur les erreurs

  1. Activer error_reporting dans php.ini

Activer en PHP si error_reporting est désactivé, le message d'erreur du programme PHP sera affiché.

Recherchez la ligne suivante dans le fichier de configuration php.ini :

error_reporting = E_ALL

Changez-la par :

#🎜🎜 #error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

peut désactiver les messages d'erreur pour garantir la sécurité du site.

2. Appel de l'emplacement de la fonction

Si vous utilisez la fonction de débogage ou la fonction de sortie dans le code PHP, ou utilisez les fonctions echo, print et autres ou appelez directement certaines fonctions dans le script PHP Quand En modifiant les variables et les attributs, des informations d'erreur spécifiques seront affichées à l'écran. À ce moment, les attaquants peuvent utiliser ces informations pour mener des attaques.

3. Erreur de configuration du serveur

Lorsque la configuration du serveur est incorrecte, vous pouvez directement visualiser le fichier php.ini ou le fichier de configuration utilisateur, afin que la vulnérabilité soit exposée et attaques Les utilisateurs peuvent facilement obtenir des informations sur le serveur.

3. Comment les attaquants exploitent les vulnérabilités de désinformation

Les attaquants peuvent utiliser la collecte d'informations Web, la destruction d'annuaires, l'élévation de privilèges et d'autres techniques, combinées aux informations exposées par les vulnérabilités de désinformation, construire des injecter du code sur le serveur, transférer le code malveillant au serveur pour exécution, puis atteindre l'objectif de contrôler le serveur, de mener des attaques et de détruire l'activité normale du site Web.

En fait, cette méthode d'attaque est très subtile. Il n'est pas nécessaire pour l'attaquant d'utiliser des attaques par force brute pour tenter d'obtenir toutes les informations sensibles du serveur et de l'entreprise en peu de temps, car cela prend du temps. obtenir les informations sera très long. Au contraire, les attaquants peuvent utiliser les vulnérabilités de désinformation pour obtenir gratuitement et rapidement les informations requises, tout en implantant un code malveillant sur le serveur, ce qui constituera une menace énorme pour la sécurité du site Web.

4. Comment éviter les vulnérabilités des messages d'erreur

1. Configurez php.ini

Désactivez error_reporting dans php.ini et limitez les informations de sortie de phpinfo .

2. Supprimez les fonctions de débogage inutiles

Les fonctions de débogage inutiles doivent être supprimées autant que possible, telles que var_dump(), print_r() et d'autres fonctions de sortie, vous pouvez ajouter Déclaration de jugement, sortie uniquement sous l'adresse IP donnée.

3. Contrôle des autorisations

Définissez raisonnablement les autorisations pour limiter l'accès aux fichiers ou répertoires susceptibles d'être envahis.

4. Surveillance des journaux

Surveillez les méthodes d'attaque courantes dans les journaux et détectez et traitez les demandes anormales en temps opportun.

5. Mettez à jour les programmes et les composants

Mettez à jour les programmes et les composants en temps opportun, installez des pare-feu et traitez les vulnérabilités possibles en temps opportun.

En bref, la facilité d'abuser d'un site cible via des messages d'erreur PHP est une méthode d'attaque très dangereuse. Afin de protéger la sécurité des sites Web, les développeurs et les administrateurs doivent consciemment mettre à jour régulièrement les programmes et les composants, tout en renforçant la surveillance des journaux et les audits de sécurité pour éviter les failles de sécurité. Dans le même temps, les utilisateurs finaux doivent également être informés pour éviter de trop dépendre de la commodité de la plate-forme et renforcer efficacement la sensibilisation à la sécurité des réseaux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn