OWASP (Open Web Application Security Project) har en testguide (OWASP Testing Guide, finns gratis på webben och i tryckt form till självkostnadspris) som innehåller 66 tester i 10 olika kategorier. I denna serie av blogginlägg kommer jag att gå igenom dessa 66 tester, vilka sårbarheter de testar och varför det är viktigt att testa sina applikationer för dessa sårbarheter.
Sist gick jag igenom några testfall för autentisering, som är processen som identifierar din användare för systemet, och sessionshantering, dvs hur webbapplikationen håller reda på om du är inloggad i applikationen och eventuellt andra saker såsom innehållet i din varukorg. I det här inlägget kommer jag gå igenom auktorisering, vilket är processen för att kontrollera om användaren har behörighet att utföra de transaktioner han/hon gör. Jag kommer också beröra säkerhetstest av affärslogik i en webbapplikation.
| Kategori | Ref. nummer | Testnamn | Sårbarhet |
| Authorization Testing | OWASP-AZ-001 | Testing for Path Traversal | Path Traversal |
| OWASP-AZ-002 | Testing for bypassing authorization schema | Bypassing authorization schema | |
| OWASP-AZ-003 | Testing for Privilege Escalation | Privilege Escalation |
När man pratar om eskalering av behörigheter så testar man två saker:
- vertikal eskalering: man försöker få högre rättigheter än vad man för tillfället har
- horisontell eskalering: man försöker bli någon annan i systemet som har samma rättigheter som man redan har
Det är ganska enkelt att se varför en attackerare vill åstadkomma vertikal eskalering: som en användare försöker man bli administratör i systemet. Horisontell eskalering är lite svårare att sätta sig in i. Varför eskalering av behörigheter till samma nivå man redan har? Det blir lite klarare när man till exempel tänker på internetbanker. Om attackeraren (A) blir offret (O) så kan A, via Os konto, föra över pengar till sig själv eller till något annat konto som A har kontroll över.
| Kategori | Ref. nummer | Testnamn | Sårbarhet |
| Business logic testing | OWASP-BL-001 | Testing for business logic | Bypassable business logic |
Testfall BL-001
När man testar affärslogiken så är man mer inne på traditionell testning än säkerhetstestning, men det är värt att nämna ändå. Vad man försöker göra är att kringgå de steg som är definierade i affärslogiken för systemet, till exempel om det är tänkt att man måste göra steg 1, 2 och 3 innan man får göra steg 4 i en process. Som attackerare så vill man testa ifall man kan gå direkt till steg 4, utan att passera 1-3.
Något annat som man kan testa är om systemet har funktionalitet för att skapa eller bevilja saker, till exempel för att bevilja en utläggsrapport. Som anställd (A) så kan man fylla i en utläggsrapport som måste godkännas av ansvarig (B) innan utlägget beviljas och pengar överförs. Om A kan få systemet att köra godkänningsprocessen som B skulle köra så kan A börja producera fiktiva utläggsrapporter och på så sätt stjäla pengar från företaget.
Det var allt för den här gången. I del 4 så kommer jag gå igenom testfall för datavalidering och belastningsattacker (denial of service, också känt som DoS).
/Michael Boman
0 kommentarer :: Genomgång av OWASP Testing Guide (del 3 av 5)
Skicka en kommentar