Cross-Site Scripting eller XSS-angrep

Det er mange forskjellige datamaskinangrep som vi blir utsatt for. I denne opplæringen skal vi snakke om Cross-Site Scripting (XSS) cyberangrep. Dette angrepet består i å injisere uønsket kode i webapplikasjoner. Med dette kan en angriper endre oppførselen til applikasjonen, noe som kan ødelegge data, miste informasjon, nekte service (DoS), etc.

For eksempel kan en angriper gjøre en sårbar nettside omdirigere trafikk til sin egen, med dårlige konsekvenser for både eieren av siden og brukerne.

Hvilke konsekvenser kan dette ha?

Variert og alvorlig, men tenk deg at Facebook har en sårbarhet av denne typen, angriperen utnytter den, og forfalskning av den opprinnelige siden skaper en klon av denne siden, og etterligner dermed Facebook. Brukere logger på og angriperen beholder legitimasjonen sin, og deretter viderekobler de dem til den offisielle siden, slik at brukeren sjelden finner ut av det.

Hvor kan vi sjekke om et nettsted er sårbart?

Du kan gjøre det på mange måter, men det vanligste er i fora eller steder der de tillater kommentarer i tilfelle et vedvarende angrep, eller i nettadressene for et ikke-vedvarende.

Hva er årsaken til dette sikkerhetsproblemet?

Fordi sidene ikke korrekt bekrefter datainngangene fra brukerne, og utgangen ikke er kodet. Så hvis du har en webside som alltid mistro brukere som validerer dataene sine, har programmeringsspråk allerede funksjoner som tillater, for eksempel funksjonen strip_tag PHP fjerner HTML -taggene (men se på forbeholdene det har).

XSS angrepstyperIkke-vedvarende eller speilvendt typeI dette angrepet får offeret en manipulert URL, som vil inneholde koden som skal injiseres som en parameter.

Vedvarende eller direkte typeDataene som settes inn av brukeren vil bli lagret på serveren, og påvirker alle brukere som kobler seg til nettet.

Vi kommer til å se eksempler på hvordan angrepet ville bli utført fra nå av.

MerkMålet med opplæringen er at du kan teste webapplikasjonene du oppretter eller de som gir deg tillatelse, ikke slik at du utfører "ondsinnede" handlinger.

1. Ikke-vedvarende XSS-eksempel


Vi ønsker å omdirigere en person til en side vi kontrollerer, men får dem til å tro at de besøker den opprinnelige siden, kan vi sende dem en e -post med den forkortede lenken (eller ikke), som har følgende innhold:
 http://www.paginadeseada.com/?search=
Med dette eksemplet er det klart hvor enkelt det er å utnytte et sårbarhet av denne typen.

2. Vedvarende XSS -eksempel


I en kommentar kan vi sette en HTML- eller JavaScript -kode, som er lagret på serveren, og at hver gang siden som inneholder kommentaren blir lastet den omdirigerer til vår webside, for dette eksempelet kan følgende HTML -kode settes inn:
 
Vi går til et annet eksempel enn de vi har sett nå. Nå skal vi se eksempler ved bruk av DVWA, et webprogram utviklet med PHP og MySQL. Denne applikasjonen kommer allerede i Metasploitable 2, som du kan montere den i en virtuell maskin.

Det vil tillate oss å teste forskjellige webangrep, og vi kan endre graden av sikkerhet (for eksemplene vi bruker den lave), vi vil også kunne se PHP -kodene som blir angrepet, slik at du kan se hva som ikke å bruke i kodene dine.

3. Eksempler XSS reflekterte DVWA


I denne delen vil vi se flere eksempler, la oss starte. Hvis vi setter et normalt navn, samme Test, programmet fungerer fint, la oss se bildet:

FORSTØRRE

Hvis vi skriver inn følgende kode som et navn:

 Test
Vi ser at navnet blir fet (kanskje på bildet er det ikke verdsatt så godt):

FORSTØRRE

Og hvis vi legger inn innspill, vil det fungere? For å teste det setter vi inn følgende kode:

 
Og vi ser på følgende bilde at det har fungert:

FORSTØRRE

La oss gå videre til XSS lagret (lagret).

4. XSS lagrede DVWA -eksempler


Vi skal utføre flere bevis på konseptet, det første vi skal gjøre er å sette inn en kort tekst ledsaget av et manus som en kommentar, la oss se hva som skjer, manuset er så enkelt som mulig, det er følgende:
 Hei og hade.

FORSTØRRE

Når vi skriver det inn som på det forrige bildet, klikker vi på Sign gjestebok, kommentaren sendes, ingenting merkelig skjer, tekststrengen blir sett, det er ingen tegn på manuset, som vi kan se nedenfor:

FORSTØRRE

Så ingenting skjedde? Vel, la oss sjekke det, oppdatere siden, og vi ser at varselet hopper:

FORSTØRRE

Du kan også sette pris på at kommentaren bare har Hei, det er derfor skriptet ble lagt inn mellom teksten, slik at du kan se at den leser den, den stopper på varselet og når du klikker OK vil du ha resten av teksten og resten av siden at den manglet (det samme er de grønne koblingene som var under kommentardelen).

Nå vil vi sette inn et skjema i kommentaren, du kan se at antall tegn som du kan skrive inn er begrenset til 50, fordi vi skal inspisere HTML -koden i kommentarens tekstområde (høyreklikk, Inspiser):

FORSTØRRE

Vi ser maxlength = ”50”, skal vi legge til en 0 til på slutten, og forbli i 500, som vi ser nedenfor:

FORSTØRRE

Og nå skal vi kommentere følgende HTML -kode:

 Skriv navnet ditt:
Vi ser at han allerede godtar det, så vi gir til Signer gjestebok og vi ser følgende:

FORSTØRRE

Skjemaet er satt inn, som vi har bekreftet. Til slutt, hvis du vil øve med middels nivå i lagret XSS, kan du prøve følgende:

1.. Endre det maksimale antallet tegn som Navn -feltet godtar, akkurat som vi gjorde før.

2.. Legg til følgende navn:

 Test 

3.. Sett som du vil ha en kommentar.

4.. Send kommentaren og oppdater skjermen, du vil se at den er lagret.

Hvis du ønsket å fjerne informasjonskapselen, ville jeg endre skriptet for følgende:

 
Du vil se følgende:

Deretter overlater jeg lenken til et rammeverk som heter XSSer som vil hjelpe oss oppdage, utnytte og rapportere XSS -sårbarheter.

På siden kommer den som den er installert (i Kali Linux 2016 kommer den allerede) og eksempler på bruk.

Vi har sett mulighetene som en angriper har når han blir presentert for en sårbar webside, å unngå disse angrepene er ikke vanskeligI dag har vi i alle programmeringsspråk funksjoner som gjør livet lettere. Det er viktig at du sjekker disse feilene før du starter en webside, da det kan ødelegge virksomheten din.

Hvis du vil se en opplæring der denne applikasjonen brukes, men andre typer angrep utføres: Pentesting med DVWA.

Til slutt vil det bli gitt en lenke, hvis du vil se en annen type angrep, som også omhandler injeksjonskode: SQL -injeksjon.

Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave