Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Testen auf Sicherheitslücken in Webanwendungen:Best Practices?

SQL Injection und XSS sind die häufigsten Fehler, die Programmierer machen. Die gute Nachricht ist, dass sie am einfachsten automatisch getestet werden können, solange Sie die richtige Software haben. Bei einem Pentest verwende ich Sitewatch oder Wapiti zum Auffinden von Sicherheitslücken in Webanwendungen. Acunetix ist überteuert.

Aber Sie können nicht einfach ein automatisiertes Tool abfeuern und erwarten, dass alles funktioniert. Es gibt eine Reihe von Vorsichtsmaßnahmen, die Sie mit ANY treffen müssen Schwachstellen-Scanner Ihrer Wahl.

1) Stellen Sie sicher, dass display_errors=On in Ihren php.ini-Sql-Injection-Tests darauf angewiesen ist, dass Sie MySQL-Fehlermeldungen auf den Antwortseiten sehen können! Kein Fehler, keine Schwachstelle erkannt!

2) Scannen Sie die authentifizierten Bereiche Ihrer Anwendung. Erstellen Sie ein Benutzerkonto speziell zum Testen. Acuentix verfügt über einen einfachen Assistenten, mit dem Sie eine Anmeldesequenz erstellen können. Wenn Sie Wapiti verwenden, können Sie Wapiti ein Cookie geben oder Wapiti eine Post-Anforderung zum Abfeuern geben, aber das ist ziemlich schwierig.

NACH Sie haben Ihre Anwendung getestet und dann Ihren Server auf Fehlkonfigurationen getestet. Um Ihren Server zu testen, müssen Sie OpenVAS ausführen Dies ist die neue, kostenlose Version von Nessus, die jetzt ein kommerzielles Produkt ist. Dann sollten Sie dies mit PhpSecInfo nachverfolgen . Diese Tests benachrichtigen Sie über Probleme mit Ihrer Konfiguration oder wenn Sie alte anfällige Software ausführen.

Nichts wird jemals 100 % sicher sein, NIEMALS . Egal, was Sie tun, es gibt Schwachstellen, die durchs Raster fallen. Es gibt Schwachstellen in allen Entwicklungsplattformen, die zu Kompromittierungen führen, die kein Tool testen kann. Es gibt auch Fehler in den von Ihnen verwendeten Testtools. Es gibt falsche Posties und falsch negative Ergebnisse und einige Tests, die nicht funktionieren , ein gutes Beispiel. Ich habe noch nie ein automatisiertes CSRF-Tool gesehen, das tatsächlich legitime Schwachstellen findet. Der CSRF-Test von Acunetix ist reine Zeitverschwendung.

Es gibt auch den OWASP-Testleitfaden was näher ins Detail geht. Dies ist nicht zu verwechseln mit den OWASP Top 10 das ist auch eine ausgezeichnete Ressource. Der PHP-Sicherheitsleitfaden ist auch eine großartige Ressource für PHP-Programmierer.