Cet article vous apporte des connaissances pertinentes sur PHP. Il présente principalement certaines vulnérabilités de sécurité et méthodes de défense courantes sur les sites Web. J'espère qu'il sera utile à tout le monde.
Concernant les vulnérabilités PHP, il existe actuellement cinq vulnérabilités courantes. Il s'agit des vulnérabilités des fichiers de session, des vulnérabilités d'injection SQL, des vulnérabilités d'exécution de commandes de script, des vulnérabilités de variables globales et des vulnérabilités de fichiers. Voici une brève introduction à chacune de ces vulnérabilités.
1. Vulnérabilité du fichier de session
L'attaque de session est l'une des méthodes d'attaque les plus couramment utilisées par les pirates. Lorsqu'un utilisateur visite un certain site Web, afin d'empêcher le client de saisir son numéro de compte et son mot de passe à chaque fois qu'il accède à une page, PHP définit Session et Cookie pour faciliter l'utilisation et l'accès de l'utilisateur.
2. Vulnérabilité d'injection SQL
Lors du développement d'un site Web, le manque de jugement complet des programmeurs sur les données saisies par l'utilisateur ou un filtrage laxiste amène le serveur à exécuter certaines informations malveillantes, telles que des requêtes d'informations utilisateur, etc. Les pirates peuvent obtenir des informations correspondantes sur la base des résultats renvoyés par les programmes malveillants. Il s'agit de la vulnérabilité d'injection SQL de Yuexingwei.
3. Vulnérabilité d'exécution de script
La cause courante de la vulnérabilité d'exécution de script est que les programmeurs ne filtrent pas les paramètres d'URL soumis par les utilisateurs lors du développement de sites Web. L'URL soumise par les utilisateurs peut contenir du code malveillant, conduisant à des erreurs croisées. Attaques de script de site. Des vulnérabilités d'exécution de script existaient souvent dans les sites Web PHP précédents, mais avec la mise à niveau des versions PHP, ces problèmes ont été réduits ou n'existent plus.
4. Vulnérabilité globale des variables
Les variables en PHP n'ont pas besoin d'être déclarées à l'avance comme les autres langages de développement lorsqu'elles sont utilisées. Les variables en PHP peuvent être utilisées directement sans déclaration. Le système les crée automatiquement lorsqu'elles sont utilisées. . Et il n'est pas nécessaire d'expliquer le type de variable, le système déterminera automatiquement le type de variable en fonction du contexte. Cette méthode peut réduire considérablement la probabilité que les programmeurs commettent des erreurs de programmation et est très pratique à utiliser.
5. Vulnérabilités des fichiers
Les vulnérabilités des fichiers sont généralement causées par le manque de filtrage adéquat des données fournies en externe par les développeurs de sites Web lors de la conception de sites Web, ce qui incite les pirates à exploiter les vulnérabilités pour exécuter les commandes correspondantes sur le processus Web. Si vous incluez ce morceau de code dans lsm.php : include( b pour réaliser des attaques à distance, peuvent être des pirates Votre propre code est utilisé pour attaquer le site Web. Vous pouvez soumettre a.php include=http://lZ7.0.0.1/b.php au serveur, puis exécuter les instructions de b.php. D'après l'analyse précédente, nous pouvons savoir que l'attaque de session la plus courante est le détournement de session, c'est-à-dire que les pirates utilisent diverses attaques. méthodes Obtenez l'ID de session de l'utilisateur, puis utilisez l'identité de l'utilisateur attaqué pour vous connecter au site Web correspondant. Pour cette raison, les méthodes suivantes peuvent être utilisées pour l'empêcher : Tout d'abord, modifiez régulièrement l'ID de session. La modification de l'ID de session peut être réalisée en utilisant la propre fonction de PHP. Deuxièmement, modifiez le nom de la session. Normalement, le nom par défaut de la session. est PHPSESSID. Cette variable est généralement enregistrée dans un cookie. Si son nom est modifié, elle peut bloquer certaines attaques de pirates ; la troisième consiste à fermer l'ID de session transparent. la requête HTTP lors de l'utilisation de l'ID de session, l'ID de session est transmis à l'aide d'un lien. La désactivation de l'ID de session transparent peut être obtenue en exécutant le fichier PHP.ini. même si un pirate informatique obtient les données de session, les paramètres associés sont masqués. Oui, il est également difficile d'obtenir la valeur de la variable Session ID. 2. Prévention des vulnérabilités d'injection SQL Les pirates disposent de nombreuses façons d'injecter du SQL, et elles sont flexibles et modifiables. Cependant, ce que l'injection SQL a en commun est l'utilisation de vulnérabilités de filtrage d'entrée. Par conséquent, afin d'empêcher fondamentalement l'injection SQL, la solution fondamentale consiste à renforcer le filtrage des commandes de requête, en particulier les commandes de requête de requête. Plus précisément, il comprend les points suivants : Premièrement, l'instruction de filtrage est paramétrée, c'est-à-dire que la saisie des informations utilisateur est réalisée via des instructions paramétrées au lieu d'intégrer directement l'entrée utilisateur dans l'instruction. La deuxième consiste à utiliser le moins de programmes d'interprétation possible lors du développement du site Web. Les pirates informatiques utilisent souvent cette méthode pour exécuter des commandes illégales. La troisième consiste à éviter autant que possible les bogues du site Web lors du développement du site Web, sinon les pirates pourraient utiliser ces informations. pour attaquer le site Web, il ne suffit pas de se défendre contre l'injection SQL. De plus, des outils professionnels d'analyse des vulnérabilités doivent être fréquemment utilisés pour analyser le site Web à la recherche de vulnérabilités. 3. Prévention des vulnérabilités d'exécution de script Les moyens par lesquels les pirates utilisent les vulnérabilités d'exécution de script pour attaquer sont divers et flexibles. Pour cela, plusieurs méthodes de prévention doivent être adoptées. vulnérabilités d’exécution. Les quatre méthodes suivantes sont couramment utilisées ici. La première consiste à prédéfinir le chemin du fichier exécutable. Ceci peut être réalisé via safe_moade_exec_dir ; la deuxième consiste à traiter les paramètres de commande, généralement en utilisant la fonction escapeshellarg ; la troisième consiste à utiliser la propre bibliothèque de fonctions du système pour remplacer les commandes externes ; 4. Prévenir les vulnérabilités des variables globales Concernant la vulnérabilité des variables globales PHP, les versions précédentes de PHP avaient de tels problèmes, mais après la mise à niveau de la version PHP vers 5.5, vous pouvez définir php.ini Pour y parvenir, définissez ruquest_order vers GPC. De plus, dans le fichier de configuration php.ini, vous pouvez définir une valeur booléenne pour Magic_quotes_runtime afin de définir s'il faut ajouter des barres obliques inverses pour déborder les caractères dans les données citées en externe. Afin de garantir que le programme du site Web peut s'exécuter dans n'importe quel état de configuration du serveur. Vous pouvez utiliser get_magic_quotes_runtime pour détecter l'état du paramètre au début de l'ensemble du programme afin de décider de le gérer manuellement, ou utiliser set_magic_quotes_runtime(0) pour le désactiver au début (ou lorsque l'échappement automatique n'est pas nécessaire). 5. Prévention des vulnérabilités des fichiers Pour les fuites de fichiers PHP, vous pouvez atteindre l'objectif de prévention en définissant et en configurant le serveur. Les opérations spécifiques ici sont les suivantes : premièrement, désactivez les invites d'erreur dans le code PHP, ce qui peut empêcher les pirates d'obtenir des informations sur la base de données et les chemins physiques des fichiers de pages Web via des invites d'erreur ; le répertoire. Traitement ; Cela peut protéger les fichiers locaux ou les fichiers distants pour les empêcher d'être attaqués. Ici, nous devons également faire attention à empêcher les attaques sur les fichiers de session et les fichiers téléchargés. Troisièmement, activez safe-made pour empêcher les commandes de le faire. être exécuté. Standardiser et interdire le téléchargement de fichiers, ce qui peut améliorer efficacement le facteur de sécurité des sites Web PHP. Apprentissage recommandé : "Tutoriel vidéo PHP"2. PHPMesures préventives contre les vulnérabilités courantes
1. Prévention des vulnérabilités de session
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!