hoe beveiliging testen van webapplicatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert Jansen

Robert Jansen

06/04/2017 15:37:41
Quote Anchor link
Hallo,

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
 
PHP hulp

PHP hulp

28/03/2024 19:20:53
 
- Ariën  -
Beheerder

- Ariën -

06/04/2017 16:11:19
Quote Anchor link
Voor SQL-injectie testing kan je Havij of SQL-map (CLI) gebruiken.
 
Ivo P

Ivo P

06/04/2017 16:13:37
Quote Anchor link
alles wat je naar het scherm stuurt escapen met htmlspecialchars() die had je al

--> 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
 
- Ariën  -
Beheerder

- Ariën -

06/04/2017 16:43:59
Quote Anchor link
Leuk en handig leesvoer over diverse soorten testings: https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents
 
Thomas van den Heuvel

Thomas van den Heuvel

07/04/2017 00:03:13
Quote Anchor link
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 :/.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.