Les applications Web ont apporté avec eux de nouvelles classes de vulnérabilités de sécurité informatique, telles que l'injection SQL. Il s'agit d'une classe de vulnérabilités basées sur la validation des entrées. Utilisations typiques des informations confidentielles de fuite d'injection SQL d'une base de données, de la logique d'authentification par pass ou ajouter des comptes non autorisés à une base de données. Cette sécurité empêche l'accès non autorisé à votre base de données et empêche également vos données d'être modifiées ou supprimées par les utilisateurs sans les autorisations appropriées. Le détecteur de texte malveillant, la validation des contraintes, la validation de la longueur des requêtes et le générateur de clés basé sur le texte sont les quatre types de technique de filtration utilisés pour détecter et empêcher les attaques d'injection SQL d'accéder à la base de données.
Nous faisons ce projet à Ubuntu
Nous détecterons l'injection SQL sur le serveur proxy pour augmenter le niveau de sécurité. Comme Nginx est plus rapide et plus facile à utiliser, nous l'utiliserons comme serveur proxy. Notre application Web s'exécutera sur Apache Server.
Ainsi, comme le trafic du navigateur arrivera sur Nginx Server, nous configurerons ses ports
Ajoutez un fichier webproxy du référentiel vers /etc/nginx/sites-enabled .
Ajoutez WebProxy aux sites compatibles de Nginx. Ici, nous avons acheminé le trafic HTTP via Nginx Server vers le port 8080.
Maintenant, nous mettrons à jour le port du serveur Apache du service HTTP. Mettez à jour le fichier de ports.conf à partir de ce référentiel dans /etc/apache2/ Update également le fichier 000-default.conf à partir de ce référentiel dans /etc/apache2/sites-enabled .
Remplacez le dossier html de ce dossier vers /var/www/ dossier. Exécutez bank.sql pour créer une base de données dans MySQL. (Crediantials pour MySQL: Nom d'utilisateur: Root Motword: Root)
Ici, nous avons ajouté une demande bancaire
service nginx start
service apache2 startVérifiez si le serveur Nginx est configuré sur le port no. 80 et le serveur Apache est configuré sur le port no. 8080.
Allez à localhost:8080/bank/login.html . Entrez le nom d'utilisateur en tant qu'AA et injectez le mot de passe en tant que 'ou' y '=' y
Vous pouvez maintenant voir des bases de données entières.
Passez à localhost/bank/login.html . Entrez le nom d'utilisateur en tant qu'AA et injectez le mot de passe en tant que 'ou' y '=' y
Maintenant, vous ne pouvez pas voir des bases de données entières et vous ne pouvez pas non plus l'injecter une autre requête.
Lorsque les informations d'identification de l'utilisateur sont entrées dans le système Vulnérables, ils sont directement transmis aux logiciels de base de données. Mais si nous fournissons une validation d'entrée avant d'atteindre l'application Web, comme chez Proxy Server, nous pouvons réduire la charge sur Apache Server et le traiter efficacement sur le serveur Nginx plus rapide .
J'ai donc compilé tous les mots clés MySQL utilisés pour l'attaque d'injection SQL et leur ai attribué des poids de telle sorte que toutes les entrées soient validées et vérifie les attaques.
En tant que telle attaque par injection SQL, est empêchée.
Auteur et créateur: Jayant Rane