Velkommen til Websikkerhet for utviklere! Dette er leksjon 1 av 9. Du kan starte uten konto — fremgangen lagres mens du jobber, og du kan ta en pause når som helst.
Angrepene du faktisk møter
OWASP-tenkningen — og de tre klassikerne som står for mesteparten.
Dette kurset handler ikke om å bli hacker — det handler om å kjenne igjen de få mønstrene som ligger bak mesteparten av det som går galt på nett, og vanene som stopper dem. Ikke panikk. Men vaner.
OWASP er en liste, ikke en lovbok
Det finnes et frivillig fellesskap som heter OWASP — Open Worldwide Application Security Project. Hvert par år samler de statistikk over hva som faktisk ble utnyttet i webapplikasjoner, og gir ut en toppliste: OWASP Top 10. Listen er ikke magisk. Den er bokføring: her er problemene som dukker opp igjen og igjen, rangert etter hvor ofte og hvor dyrt de var.
Rangeringen rulleres mellom hver utgave, og navnene er tekniske. Men i vanlige ord handler det om gjengangere som disse:
- brutt tilgangskontroll — sider og data folk skulle vært stengt ute fra
- injection — fremmed tekst som blir tolket som kode, i SQL, i HTML, i skallkommandoer
- feilkonfigurering — standardpassord, feilmeldinger som forteller for mye, servere som står åpne
- utdaterte komponenter — kjente hull i biblioteker som aldri ble oppdatert
- svak identitetshåndtering — manglende validering, passord som lagres feil, sesjoner som aldri dør
Verdien av listen er ikke at du kan den utenat. Verdien er at «det vanlige» er kartlagt: du slipper å gjette hvor farene bor, du kan lese kartet.
De tre klassikerne
I dette kurset får tre av dem mesteparten av plassen, fordi de står for en stor andel av virkelige hendelser — og fordi de alle kan forklares med én liten nettside og ett skjemafelt:
- XSS — fremmed kode som får kjøre i brukerens nettleser, ved å smugle skript inn gjennom innhold.
- SQL-injection — fremmed kode som får kjøre i databasen, ved å smugle SQL inn gjennom skjemafelter.
- CSRF — en handling brukeren aldri ga, utført av nettleseren deres på tross av dem.
XSS og SQL-injection har til og med samme mekanisme. CSRF er en fjern slektning — der er det ikke data som blir kode, men nettleserens automatiske tillit som blir utnyttet. Alle tre dekker vi i egne leksjoner.
Den felles roten: data som blir kode
Se på de to første: et innleggsinnhold som blir til HTML, en tekst fra et skjemafelt som blir til SQL. Begge steder krysser noe som skulle vært data grensen til noe som tolkes som kode — uten å bli stoppet. Det er det felles mønsteret, og det er grunnen til at forsvarene i dette kurset også ligner hverandre: hold data som data. Rens ved utskriften, send dataene atskilt fra spørringen.
XSS: innhold → tolket som HTML/kode i nettleserenSQL-injection: skjematekst → tolket som SQL i databasenCSRF: nettleserens automatiske cookies → brukt av en annen sidePrøv selv
Hva har de til felles?
Trykk på en av de tre klassikerne for å se hva som går galt der — og hva forsvaret heter.
Det finnes ikke feil her — trykk på alle tre hvis du vil.
Tips
Ikke panikk — vaner
Ingen av forsvarene i dette kurset er vanskelige. De er kjedelige vaner: rens utskriften, parametere i stedet for sammenlimting, SameSite på cookie-en, oppdaterte pakker. Sikkerhet handler mindre om å være lur og mer om å være konsekvent.
Du kan nå
- si hva OWASP Top 10 er — en statistikkbasert toppliste, ikke en lovbok
- navngi de tre klassikerne: XSS, SQL-injection og CSRF — og hvor hver angriper
- forklare det felles mønsteret: data som krysser grensen og blir kode