Webanwendungen haben neue Klassen von Sicherheitslücken für Computersicherheit mit sich gebracht, wie z. B. SQL -Injektion. Es handelt sich um eine Klasse von Eingabevalidierungsanfälligkeiten. Typische Verwendungen von SQL Injection Leak Confidential Informationen aus einer Datenbank, BY-Pass-Authentifizierungslogik oder fügen Sie einer Datenbank nicht autorisierte Konten hinzu. Diese Sicherheit verhindert den nicht autorisierten Zugriff auf Ihre Datenbank und verhindert, dass Ihre Daten ohne die entsprechenden Berechtigungen von Benutzern geändert oder gelöscht werden. Bösartiger Textdetektor, Einschränkungsvalidierung, Validierung von Abfragenlängen und textbasierten Schlüsselgenerator sind die vier Arten von Filtrationstechniken, mit denen die SQL -Injektionsangriffe auf die Datenbank zugreifen und verhindern.
Wir machen dieses Projekt in Ubuntu
Wir werden die SQL -Injektion auf dem Proxy -Server erkennen, um das Sicherheitsniveau zu erhöhen. Da Nginx schneller und einfacher zu bedienen ist, werden wir es als Proxy -Server verwenden. Unsere Webanwendung wird auf Apache Server ausgeführt.
Wenn der Verkehr vom Browser auf den Nginx -Server kommt, werden wir seine Ports konfigurieren
Fügen Sie webproxy Datei vom Repository zu /etc/nginx/sites-enabled .
Fügen Sie WebProxy zu Websites von Nginx hinzu. Hier haben wir den HTTP -Datenverkehr über Nginx Server auf Port 8080 weitergeleitet.
Jetzt aktualisieren wir den Port des Apache -Servers des HTTP -Dienstes. Aktualisieren Sie die Datei ports.conf aus diesem Repository in /etc/apache2/ Aktualisieren Sie auch die Datei 000-default.conf aus diesem Repository in /etc/apache2/sites-enabled .
Ersetzen Sie html -Ordner aus diesem Repository in /var/www/ Ordner. Führen Sie bank.sql aus, um Datenbank in MySQL zu erstellen (Crecingiantials für MySQL: Benutzername: Root Passwort: root)
Hier haben wir Bankantrag hinzugefügt
service nginx start
service apache2 startÜberprüfen Sie, ob Nginx Server auf Port Nr. Konfiguriert ist. 80 und Apache Server sind auf Port Nr. Konfiguriert. 8080.
Weiter zu localhost:8080/bank/login.html . Geben Sie den Benutzernamen als AA ein und geben Sie Passwort als 'oder' y '=' y ein
Jetzt können Sie ganze Datenbanken sehen.
Gehen Sie weiter zu localhost/bank/login.html . Geben Sie den Benutzernamen als AA ein und geben Sie Passwort als 'oder' y '=' y ein
Jetzt können Sie keine ganzen Datenbanken sehen und sie können sie auch keine andere Abfrage injizieren.
Wenn Benutzeranmeldeinformationen im Schwachstellensystem eingegeben werden, werden sie direkt an Datenbanksoftware übergeben. Wenn wir jedoch vor der Erreichung der Webanwendung wie bei Proxy Server die Belastung des Apache -Servers reduzieren und effizient auf einem schnelleren NGINX -Server verarbeiten können.
Ich habe also alle MySQL -Schlüsselwörter zusammengestellt, die für den SQL -Injektionsangriff verwendet werden, und ihnen Gewichte zugewiesen, sodass alle Eingaben validiert werden und nach Angriffen prüfen.
Als solcher wird SQL -Injektionsangriff verhindert.
Autor und Schöpfer: Jayant Rane