Web applicaties
Een web applicatie met beveiligingsproblemen kan aanleiding geven tot het compromitteren van een volledige infrastructuur (we hebben hier inderdaad verschillende voorbeelden van gezien). Web applicaties kunnen onderworpen zijn aan zeer diverse problemen, gaande van code injection vanop afstand (een aanvaller kan op dergelijke wijze een applicatie door hem gekozen programma-code laten uitvoeren), tot problemen met betrekking tot de toegangscontrole (waarbij een gebruiker toegang kan krijgen tot de gegevens van een andere gebruiker).
We bienen een diepgaande analyse aan van web applicaties, met inbegrip van - indien nodig - een inspectie van hun programma-code. We hebben een uitgebreide ervaring opgebouwd met het testen van zeer diverse applicaties, zoals Internet banking applicaties, e-commerce, web mail, on-line klantenondersteuning, forums, enz. We hebben analyses van programma-codes uitgevoerd voor applicaties geschreven in Java, PHP, ASP, ASP.NET, C# en C/C++.
Bij een web applicatie test worden ondermeer de volgende problemen bekenen:
- Authentificatie. Omvat de applicatie een voldoende stricte authentificatie? Is het mogelijk om deze authentificatie te omzeilen? Indien paswoorden gebruikt worden, zijn de hieraan gerelateerde mechanismen (reset van het paswoord, verandering van paswoord) op voldoend beveiligde wijze uitgevoerd?
- Autorisatie. Voert de applicatie systematisch autorisatie-controles uit? Is het mogelijk om zonder autorisatie acties uit te voeren die normaal autorisatie zouden vereisen?
- Toegangscontrole. Is het mogelijk om toegang te krijgen tot de gegevens van andere gebruikers? Is het mogelijk om administratieve of beheersfuncties uit te voeren?
- Sessie-beheer. Hoe worden sessies beheerd? Is het mogelijk om sessie-IDs te ontdekken?
- Applicatie-logica. Is het mogelijk om de applicatie onvoorzien gedrag te laten vertonen, zoals bvb. negatieve kostprijs van producten, of om de volgorde van de stappen voor een bestelling om te draaien?
- SQL injection. Interageert de applicatie op correcte wijze met de achterliggende database?
- Cross-site scripting. Filtert de applicatie op correcte wijze invoer-gegevens van de gebruikers, die vervolgens weergegeven worden?
- Code injection. Gebruikt de applicatie gebruikers-invoer om bestandsnamen op te stellen? Gebruikt de applicatie gebruikers-invoer om programma-code op te stellen? Is het mogelijk om uitvoerbare bestanden op te laden?
- Directory traversal. Gebruikt de applicatie gebruikers-invoer om bestandsnamen op te stellen?
- LDAP filter injection, XPath injection, enz.
