Vad är ett penetrationstest för webbapplikationer?

Ett penetrationstest för webbapplikationer är en aktivitet utformad för att mäta hur ett internetbaserat program skulle bete sig under en attack eller exploatering. Dessa tester använder en mängd olika program för att skanna ett program och sedan utföra olika åtgärder som kan inträffa under en faktisk attack. Ett penetrationstest för webbapplikationer kan utföras av ett utvecklingsteam eller en tredjepartstjänsteleverantör. Om en extern leverantör används kommer utvecklingsteamet eller IT-personalen ibland inte att meddelas om testet av ledningen. Detta kan tillåta ett penetrationstest för webbapplikationer för att avslöja brister som annars skulle ha gått obemärkt förbi, vilket kan göra det möjligt att åtgärda dessa problem innan programvaran släpps.

Webbapplikationer är mjukvarupaket som kan nås och köras över Internet. Dessa applikationer kan utföra många funktioner, och i vissa fall är de ansvariga för att hantera data som anses vara privat eller till och med värdefull. För att undvika kompromitterande attacker utförs vanligtvis penetrationstester för att lokalisera eventuella svagheter eller lättexploaterade områden i koden.

Typiska penetrationstester för webbapplikationer börjar med en informationsinsamlingsfas. Syftet med detta steg är att fastställa så mycket information om applikationen som möjligt. Genom att skicka förfrågningar till applikationen och använda verktyg som skannrar och sökmotorer är det ofta möjligt att få information som programvaruversionsnummer och felmeddelanden som ofta används för att hitta exploateringar senare.

Efter att en tillräcklig mängd information har samlats är nästa mål med ett penetrationstest för webbapplikationer att utföra ett antal olika attacker och exploateringar. I vissa fall kommer informationen som samlas in under den första fasen att identifiera exploateringar som programmet kan vara sårbart för. Om inga uppenbara sårbarheter upptäcks, kan ett komplett utbud av attacker och exploateringar göras.

Många olika tekniska sårbarheter kan lokaliseras genom ett penetrationstest för webbapplikationer. Dessa tester kommer vanligtvis att försöka använda metoder som manipulering av universal resource locator (URL), kapning av sessioner och strukturerad frågespråk (SQL)-injektion för att bryta sig in i en applikation. Det kan också finnas ett försök att initiera ett buffertspill eller andra liknande åtgärder som kan få en applikation att uppträda onormalt. Om någon av dessa attacker eller utnyttjande får applikationen att avslöja känsliga data för penetrationstestaren, rapporteras felen vanligtvis tillsammans med en föreslagen åtgärd.