Hacking i praksis: itverket arrangerte CTF for Webstep

Hacking i praksis: itverket arrangerte CTF for Webstep

Hvor lett er det egentlig å bryte seg inn i en webapplikasjon? Det fikk utviklere fra Webstep finne ut av da itverket inviterte til Capture The Flag. Deltakerne var samlet i Oslo, og de andre kontorene var med digitalt.

Hva er en CTF?

Capture The Flag (CTF) er en konkurranse der målet er å løse utfordringer innen cybersikkerhet og fange skjulte «flagg» i sårbare systemer. Et flagg er en tekststreng som bare er mulig å få tak i ved å utnytte en svakhet. Hvert flagg gir poeng, og en resultattavle viser hvem som ligger an til å vinne.

Konkurranseformatet gjør det engasjerende, men oppgavene er først og fremst teknisk krevende. De dekker gjerne flere fagområder:

  • Web: finne sårbarheter og feil i webapplikasjoner.
  • PWN / Binary Exploitation: utnytte kjørbare programmer for å ta kontroll over et system.
  • Reverse Engineering: gjøre programmer om til et format mennesker kan lese og forstå.
  • Kryptografi: finne feil i hvordan kryptering er implementert.
  • Diverse: alt det andre, fra logiske nøtter til etterforskning.

OWASP Top 10 i praksis

For Webstep bygde vi oppgavene rundt tre sentrale risikoer fra OWASP Top 10, den anerkjente oversikten over de mest kritiske sikkerhetsrisikoene i webapplikasjoner:

  • Injection: brukerinput havner ufiltrert i databasespørringer eller kommandoer, slik at en angriper kan lese eller endre data.
  • Cross-Site Scripting (XSS): en angriper får kjørt egen JavaScript i andre brukeres nettleser, for eksempel for å stjele innloggingsøkter.
  • Broken Access Control: manglende tilgangskontroll gjør at brukere får se eller endre data og funksjoner de ikke skal ha tilgang til.

Oppgavene ligger på itverket sin egen CTF-plattform. Deltakerne jobber i realistiske kodebaser, med teknologier de kjenner fra hverdagen, som Python, Docker og moderne webrammeverk.

Deltakere løser CTF-oppgaver i møterommet, med de andre kontorene på storskjerm

Du forstår et angrep best når du har gjort det selv

Det er én ting å lese om en sårbarhet. Det er noe helt annet å sitte med koden åpen og se at en liten detalj gir deg tilgang til andres data.

Et typisk eksempel er WebSockets. Mange utviklere tar for gitt at nettleserens Same-Origin Policy (SOP) og Cross-Origin Resource Sharing (CORS) beskytter dem, men disse mekanismene gjelder ikke for WebSocket-tilkoblinger. Nettlesere beskytter i noen tilfeller indirekte gjennom strengere regler for cookies, men det er serveren som må sjekke hvor tilkoblingen kommer fra. Gjør den ikke det, kan en angriper få en innlogget brukers nettleser til å sende kommandoer på vegne av brukeren. Slike funn gir en dypere forståelse av hvordan nettlesere og servere faktisk snakker sammen. Det er kunnskap man sjelden får i vanlig utviklerarbeid.

Hva får utviklere ut av en CTF?

  • Ferdigheter raskere: du blir kjent med mange teknologier på kortere tid enn i et vanlig prosjekt.
  • Kritisk tenkning og problemløsning: du må finne svarene selv, og bygger et ekte «hacker’s mindset».
  • Sikkerhetsbevissthet: du lærer å tenke som en angriper, og tar med deg kunnskap om de vanligste feilene rett inn i neste prosjekt.

Det er kjernen i verdien en CTF gir: praktisk trening i et trygt og realistisk miljø. Derfor bruker vi CTF aktivt, både i vårt eget fagmiljø og sammen med andre.

Takk for en lærerik kveld

En stor takk til Webstep for at vi fikk komme, og til alle deltakerne som kastet seg over oppgavene. Takk også til Jonny Ngo Luong, som var gamemaster og sørget for at alt gikk som det skulle.

Vil dere også arrangere en CTF for teamet eller selskapet? Ta kontakt med oss, så lager vi et opplegg som passer dere.