Hvordan hacke ett nettsted med XSS [DEL 1]
Xss står for cross site scripting, og er en metode ondsinnede personer bruker for å gjøre ugang på internett. Hvis korrekt utført, er det mulig med xss å stjele passordet ditt på ett nettsted. Dine opplysninger, dine emails, og også dine personlige meldinger, hvis nettstedet bruker dette.
For å få dere til å forstå hvorfor xss er så skummelt, har jeg skrevet en liste over hva som kan gjøres med xss.
Man kan:
- Stjele ditt passord
- Stjele dine personlige opplysninger
- Stjele selve kontoen på et nettsted
- Stjele og lese dine emails
- Få dine cookies stjelt
- Stjele og lese dine personlige meldinger(PM og forum)
- Hacke et nettsted og endre forsiden
- Få din pc til å utføre angrep på andre nettsteder
- Få høyere pagerank
- Tvinge din pc til å laste ned ting som ikke bør lastes ned
- Lure fra deg visa kort informasjon
- Skrive virus som utnytter xss sårbarheten
- Forandre innhold på et nettsted( f.eks. poste en nyhet)
- Hacke din egen router(åpne porter osv)
- Lure inn reklame og popups
- Krasje nettlesern
- Lagre alle dine tastetrykk( keylogger)
Jeg håper du tuller nå?
Nei desverre, dette er alvorlige greier. Og jeg er av den oppfatning av at det ikke hjelper å bare fortelle om disse farene med xss. Den gjennomsnittlige webutvikler må få demonstrert hvordan alle dissene tingene gjøres, før en liten stemme i hodet sier “fy faen, jeg må virkelig lære meg å filtrere input skikkelig“.
For å forstå hvordan xss fungerer, må man forstå hvordan internett snakker og fungerer(HTTP).
Les mer om hvordan internett snakker HER.
La oss ta for oss en tilfeldig søkemotor. Du søker på “rosa bananer”, og får dette til svar:

Altså, det du skriver inn blir printet ut tilbake til nettleseren. Her er html koden du får servert tilbake:
<form action="sok.php" method="get"> <input type="text" name="sok" /> <input type="button" value="SØK" /></form> <h3>Fant ingen resultater for: rosa bananer</h3>
Hva om jeg f.eks. prøver å søke på:
<script>alert(1337)</script>
Da kommer det en alert boks poppende opp:

Hvordan i allverden kunne dette skje spør du? Hvordan fikk jeg min egen browser til å kjøre javascript? Dette håper jeg du forstår ved å ta en titt på kildekoden som søket ditt resulterte i:
<form action="sok.php" method="get"> <input type="text" name="sok" size="25"> <input type="button" value="SØK"> <br><br> <h3> Fant ingen resultater for: <script>alert(1337)</script> <h3>
Ser du hvordan javascript koden blir printet ut under søkeboksen? Nettopp.
Men dette vises jo kun på min egen nettleser?
Ja det stemmer. Det er nå det begynner å bli litt mere avansert. For å lure en person til å få kjørt javascript kode i hans/hennes nettleser må du bruke social engineering.
Ved å besøke lenken http://victim/sok.php?sok=[FARLIG KODE HER] vil altså den farlige koden bli kjørt på nettleseren til den som klikker på lenken. Da kunne jeg f.eks. ha sendt denne lenken på email, skrevet den på msn, eller skrevet den inn på et forum. Mulighetene for å lure brukere til å besøke en lenke, er mange og avanserte.
En lettvint måte er å bruke tinyurl sin tjeneste. Her kan man skrive inn en url adresse, og få en annen url som redirecter til denne.
Denne lenken f.eks. sender brukeren videre til http://sau.no.
Videre fins det mer avanserte metoder, hvor man tilsynelatende lenker til et bilde på nettet. Ja url adressen kan til og med ende med .jpg, men i bakgrunnen gjør nettleseren forespørsler til http://victim/sok.php?sok=[FARLIG KODE HER].
Men hvordan kan jeg ta over f.eks. nettby.no kontoen til noen?
Jeg har til nå gitt en bitteliten introduksjon på hvordan få kjørt javascript kode på nettleseren til en annen uskyldig bruker. Men det gjenstår å vise hvordan gjøre de mer farligere tingene som å ta over en konto, lese epost meldingene og hvordan også faktisk hacke selve nettstedet.



































Spennende.
Grei innføring
Håper vi får litt fremgang her i Norge, skrev en artikkel om hvorfor vi hører så lite om XSS i nyhetsbildet, og som sikkert er relatert til at det er så mange som gir faen.
http://www.norhack.org/2009/01/31/hvorfor-er-ikke-xss-i-nyhetsbildet/“
[...] fungerer, har man fått med seg at internett er broken. I verste fall kan en ondsinnet idiot bryte seg inn på wordpress panelet til Martin og Sindre, og ta kontroll over hele bloggen. Hvis idioten er litt [...]
[...] er viktig å presisere at ingen kan hacke selve nettstedet med xss. Det er altså ingen trussel mot selve serveren. Men det som er mulig, er f.eks. å stjele [...]
[...] var første del av serien. Mens du venter på neste del, kan du lese om hvordan hacket et nettsted med XSS. Dette innlegget ble skrevet på Monday, May 18th, 2009. Og er lagret under PHP, Passord, Sql [...]
[...] [...]