hoe beveiliging testen van webapplicatie
Ik ben bezig met het maken van een webapplicatie.
Hierbij denk ik ook aan de beveiliging.
Ik heb o.a. gedaan:
- sql-injectie; prepared statements
- html-injectie: htmlspecialchars
- In root een index.php bestand
- wachtwoord versleuteld met crypt function
- geen php errors zichtbaar
Bijvoorbeeld om te testen van sql-injectie kun je in het wachtwoord veld dit: " OR 1=1#
invoeren, zijn er nog meer mogelijkheden of ik de applicatie kan testen op sql-injecties?
mijn vraag is: wat kan ik doen om de beveiliging van de webapplicatie te testen?
alvast bedankt
Voor SQL-injectie testing kan je Havij of SQL-map (CLI) gebruiken.
--> voorkom dat iemand ergens iets invoert als "hallo <script>alert(1);</script>" en je een popup krijgt.
Of iets ernstigers doet dan een popup, namelijk een script uitvoeren alsof de admin of een andere user dat zelf deed.
Zet je cookies op http-only, zodat cookies niet met javascript uitgelezen kunnen worden (en dus met een dergelijke javascript ook niet gestolen kunnen worden)
SSL op je domein
expose php off
idem voor je webserver
Gewijzigd op 06/04/2017 16:14:26 door Ivo P
Robert Jansen op 06/04/2017 15:37:41:
- sql-injectie; prepared statements
Maar als je waarden concateneert in plaats van assigned/bind dan helpt je dat weinig. Je moet er zorg voor dragen dat je dit soort zaken ook op de juiste manier doet. Gebruik je MySQLi of PDO hiervoor?
Daarnaast: wat voor pakket gebruik je, of heb je zelf gerolde code/loginsysteem? Log je hier ook zaken bij? Heb je een beperkt aantal loginpogingen et cetera?
Tevens: gebruik je overal consequent dezelfde character encoding en dwing je dit ook af middels headers en het expliciet definiëren hiervan tijdens het maken van een connectie?
Ik denk dat het belangrijker/minstens zo belangrijk is dat je tijdens het schrijven van code continu security in het oog houdt. Als je je bedient van het adagium "filter input, escape output" kom je al een heel eind. Maar dus niet NA het schrijven pas na gaat denken over zaken als security. Dat is zoiets als een huis bouwen en als het klaar is eens nadenken over de grondvesten en tot de conclusie komen dat het fundament niet goed is :/.