sql >> Database >  >> RDS >> Mysql

Testen op beveiligingsproblemen in webapplicaties:best practices?

SQL Injection en XSS zijn de meest voorkomende fouten die programmeurs maken. Het goede nieuws is dat ze het gemakkelijkst automatisch te testen zijn, zolang je maar over de juiste software beschikt. Als ik een pentest doe, gebruik ik Sitewatch of Wapiti voor het vinden van kwetsbaarheden in webapplicaties. Acunetix is ​​te duur.

Maar je kunt niet zomaar een geautomatiseerde tool afvuren en verwachten dat alles werkt. Er zijn een aantal voorzorgsmaatregelen die u moet nemen met ANY kwetsbaarheidsscanner die u kiest.

1) zorg ervoor dat display_errors=Aan in uw php.ini Sql-injectietests afhankelijk zijn van het kunnen zien van mysql-foutmeldingen op de antwoordpagina's! Geen fout, geen kwetsbaarheid gedetecteerd!

2) Scan de geverifieerde delen van uw toepassing. Maak een gebruikersaccount speciaal om te testen. Acuentix heeft een eenvoudige wizard waarmee u een inlogreeks kunt maken. Als je wapiti gebruikt, kun je een koekje aan wapiti geven of wapiti een postverzoek geven om af te vuren, maar dit is nogal lastig.

NA u hebt uw toepassing getest en vervolgens uw server getest op verkeerde configuratie. Om uw server te testen, moet u OpenVAS uitvoeren dat is de nieuwe, meer gratis versie van Nessus, die nu een commercieel product is. Volg dit dan op met PhpSecInfo . Deze tests zullen u op de hoogte stellen van problemen met uw configuratie of als u oude kwetsbare software gebruikt.

Niets zal ooit 100% veilig zijn, OOIT . Wat je ook doet, er zijn kwetsbaarheden die door de scheuren zullen glippen. Er zijn kwetsbaarheden in alle ontwikkelplatforms die leiden tot compromissen waar geen enkele tool op kan testen. Er zijn ook bugs in de testtools die u gebruikt. Er zijn valse posts en valse negatieven en sommige tests die gewoon niet werken , een goed voorbeeld, ik heb nog nooit een geautomatiseerde CSRF-tool gezien die legitieme kwetsbaarheden vindt. De CSRF-test van Acunetix is ​​een complete verspilling van tijd.

Er is ook de OWASP-testgids die in meer detail gaat. Dit moet niet worden verward met de OWASP Top 10 wat ook een uitstekende bron is. De PHP-beveiligingshandleiding is ook een geweldige bron voor php-programmeurs.



  1. JDBC:Datumwaarden invoegen in MySQL

  2. Een kortere niet-herhalende alfanumerieke code dan UUID in MySQL

  3. Retourneer de huidige aanmeldingsnaam in SQL Server (T-SQL)

  4. MySQL mislukt op:mysql ERROR 1524 (HY000):Plugin 'auth_socket' is niet geladen