Injections SQL : principes et analyse des vulnérabilités courantes
Principe des injections SQL
Une vulnérabilité d'injection SQL survient lorsque deux conditions sont réunies : l'utilisateur peut contrôler les paramètres d'entrée, et ces paramètres sont directement incoroprés dans une requête SQL sans validation. Cela permet à un attaquant de manipuler la requête pour extraire ou modifier des données. Il est e ...
Publié le 16 juillet à 12h03
Les SAPI dans PHP : rôle et structure interne
L'interface SAPI (Server API) gère les interactions entre PHP et le serveur web pendant le cycle de vie de l'application. Les implémentations physiques se trouvent dans le répertoire SAPI des sources PHP, qui contient les abstractions pour différents serveurs comme la ligne de commande, le module Apache mod_php ou FastCGI.
Chaque abstraction se ...
Publié le 15 juillet à 07h14
Comprendre les vulnérabilités SSRF : concepts, mécanismes et défense
Qu'est-ce que le SSRF ?
Le SSRF (Server-Side Request Forgery) est une vulnérabilité dans laquelle un attaquant manipule le serveur pour qu'il effectue des requêtes HTTP vers des destinations arbitraires. L'objectif est souvent d'accéder à des systèmes internes qui ne sont pas directement accessibles depuis l'extérieur, mais que le serveur pe ...
Publié le 15 juillet à 04h09
Installation et configuration d'Apache, PHP, MariaDB et phpMyAdmin sur CentOS 7
Installation d'Apache
Pour installer Apache, utilisez la commande suivante :
sudo yum install httpd
Après l'installation, gérez le service Apache avec ces commandes :
sudo systemctl start httpd # Démarrer le service
sudo systemctl stop httpd # Arrêter le service
sudo systemctl restart httpd # Redémarrer le service
sudo systemctl enable ...
Publié le 13 juillet à 22h33
Sécurité des applications PHP : vulnérabilités courantes et solutions
1. Injection SQL
Problème : Insertion de requêtes SQL malveillantes via des entrées utiliasteur, compromettant les bases de données.
Protections :
Privilégier les requêtes paramétrées avec PDO ou MySQLi
Éviter la concaténation directe dans les requêtes SQL
// Exemple avec PDO
$connexion = new PDO('mysql:host=serveur;dbname=ma_base', 'identifi ...
Publié le 12 juillet à 18h49
Guide pratique : NGINX Unit et PHP ensemble
Comprenrde le flux entre NGINX, Unit et PHP
L'architecture fonctionne ainsi : NGINX reçoit les requêtes et les transmet au port 8300 où Unit écoute. Unit redirige ensuite ces requêtes vers le process PHP approprié.
Configuration pas à pas
Étape 1 : Installation
Sur CentOS 6, suivez la procédure officielle : http://unit.nginx.org/installation/#c ...
Publié le 11 juillet à 07h26
Protéger contre les vulnérabilités XXE dans les applications web
Origine de la faille XXE
La vulnérabilité XXE (XML External Entity) survient lorsque le parseur XML traite les entités externes contenues dans les données d'entrée. Un attaquant peut exploiter cela pour lire des fichiers locaux, effectuer des requêtes serveur à serveur (SSRF), exécuter des commandes ou causer un déni de service.
Stratégies de d ...
Publié le 10 juillet à 20h39
Connexion à MySQL avec PHP : options disponibles
mysql_connect (obsolète)
Cette fonction permet d'établir une connexion à un serveur MySQL. Elle est obsolète depuis PHP 5.5.5 et supprimée à partir de PHP 7.0.0.
mysqli_connect
L'extension mysqli offre des approches orientées objet et procédurale pour connecter PHP à MySQL. Le choix du style n'affecte pas le résultat final.
Approche orientée ob ...
Publié le 9 juillet à 23h48
Architecture de messagerie asynchrone : Intégration d'Enqueue dans Symfony
L'exécution de tâches lourdes de manière synchrone est l'un des principaux freins à la performance des applications web modernes. Qu'il s'agisse de l'envoi d'e-mails, du traitement d'images ou de la communication avec des API tierces, ces opérations ne devraient pas bloquer la réponse HTTP envoyée à l'utilisateur. Enqueue offre une solution rob ...
Publié le 9 juillet à 03h45
Sécurité Web PHP : Contournement de fonctions, expressions régulières et vulnérabilités d'inclusion de fichiers
Sécurité des fonctions PHP et manipulation de types
Contournement de is_numeric et gestion des espaces
La fonction is_numeric() vérifie si une variable est un nombre ou une chaîne numérique. Elle est stricte et renvoie false si des caractères non numériques sont présents. Cependant, lors d'une comparaison non stricte (==), PHP analyse la chaîne ...
Publié le 8 juillet à 20h30