Broken authentication er en referanse til svakheter på to områder: session management og credential management. Kort fortalt handler det som at en ondsinnet bruker får uautorisert tilgang til en nettside. Det gjennom å stjele en brukers brukernavn og passord.
OWASP nevner noen praksiser eller sikkerhetstiltak som man bør ha på plass for å forhindre broken authenticationsangrep. Vi tar for oss fire veldig enkle måter som en angriper kan utgi seg for å være en bruker hvis disse sikkerhetstiltakene ikke er på plass.
Vil du vite mer om Broken Authentication? Sjekk ut denne artikkelen.
1. Session Management – SessionID hijacking
Ved hjelpe av en applikasjon som burp-suite er det mulig å fange opp og få tak i en session-id hvis målapplikasjonen er sårbar.
2. Broken Authentication – Logout Management
Her kan en angriper få tak i sessionen ved å klikke på tilbake-knappen etter at brukeren har logget seg av.
En sikker applikasjon vil føre deg til påloggingssiden, slik at du må logge på igjen, i stedet for å ta deg tilbake til den siste siden der brukeren var på.
3. Broken Authentication – Insecure Login Forms
Man kan teste om et påloggingsskjema er sårbart eller ikke. Jeg bruker OWASP bWAPP (webapp). Ved å bruke vår kunnskap om SQL-injeksjoner kan man prøve følgende uttrykk (0’or’0’=’0) i Login- og Password felter (Figur 3) og trykke på innlogging.
Da får du en Invalid Credentials! feilmelding (Figur 4).
Det er mulig å få tak i brukernavnet og passordet fra «html-page-source» (Figur 5). Med Chrome eller Firefox høyreklikker du og velger «page source».
4. Password Attacks – guessing passwords using Burp Suite
Jeg bruker Burp Suite som hjelper meg med å gjette meg frem til pålogging og passord for OWASP bWAPP (webapp).
Jeg bruker Burp Suite Community Edition (gratis). På ‘intruder’ fanen i Burp Suite man kan oppgi flere brukere (Figur 7) og passord (Figur 8).
Figur 7 (intruder fane -> 2 -> Payloads -> Payload Options [Simple list]) på Payload set:1 legger jeg til flere muligheter for Login.
Figur 8 (intruder fane -> 2 -> Payloads -> Payload Options [Simple list]) på Payload set:2 legger jeg til flere muligheter for Password.
Intruder -> Start attack.
Så får du resultatene (Figur 9), og fra dem kan du se hvilke kombinasjoner av brukernavn og passord som var vellykkede.
Konklusjon
Vi har gjennomgått noen veldig enkle eksempler på hvordan man kan lykkes med broken authenticationsangrep. Det finnes også mer sofistikerte angrep som krever mye semantikk og hvor man bruker mer avanserte verktøy for brute force.