Cross-Site Scripting of XSS-aanval

Er zijn veel verschillende computeraanvallen waaraan we worden blootgesteld, in deze tutorial gaan we het hebben over de Cross-Site Scripting (XSS) cyberaanval. Deze aanval bestaat uit het injecteren van ongewenste code in webapplicaties. Hiermee kan een aanvaller het gedrag van de applicatie veranderen, wat gegevens kan beschadigen, informatie kan verliezen, service kan weigeren (DoS), enz.

Een aanvaller kan er bijvoorbeeld voor zorgen dat een kwetsbare webpagina het verkeer omleidt naar zijn eigen pagina, met nadelige gevolgen voor zowel de eigenaar van de pagina als de gebruikers.

Welke gevolgen kan dit hebben?

Gevarieerd en serieus, maar stel je voor dat Facebook een kwetsbaarheid van dit type heeft, de aanvaller maakt er misbruik van, en het vervalsen van de originele pagina creëert een kloon van deze pagina, waardoor Facebook wordt geëmuleerd. Gebruikers loggen in en de aanvaller behoudt hun inloggegevens en leidt ze vervolgens eenvoudig door naar de officiële pagina, zodat de gebruiker er zelden achter komt.

Waar kunnen we controleren of een website kwetsbaar is?

Je kunt het op veel manieren doen, maar de meest voorkomende is op forums of plaatsen waar ze opmerkingen toestaan ​​in het geval van een aanhoudende aanval, of in de URL's in het geval van een niet-persistente aanval.

Wat is de oorzaak van deze kwetsbaarheid?

Omdat de pagina's de gegevensinvoer van de gebruikers niet correct verifiëren en ook de uitvoer niet is gecodeerd. Dus als u een webpagina heeft, wantrouwt u altijd gebruikers die hun gegevens valideren, programmeertalen brengen al functies die bijvoorbeeld de functie mogelijk maken strip_tag PHP verwijdert de HTML-tags (maar kijk naar de kanttekeningen die het heeft).

XSS-aanvalstypenNiet-persistent of gespiegeld typeBij deze aanval krijgt het slachtoffer een gemanipuleerde URL, die de te injecteren code als parameter zal bevatten.

Aanhoudend of direct typeDe gegevens die door de gebruiker worden ingevoerd, worden op de server opgeslagen en zijn van invloed op alle gebruikers die verbinding maken met internet.

We gaan voorbeelden zien van hoe de aanval vanaf nu zou worden uitgevoerd.

OpmerkingHet doel van de tutorial is dat je de webapplicaties die je maakt of die van de mensen die je toestemming geven kunt testen, niet zodat je "kwaadwillende" handelingen gaat verrichten.

1. Voorbeeld van niet-persistent XSS


We willen een persoon omleiden naar een pagina die we beheren, maar om ze te laten geloven dat ze de originele pagina bezoeken, kunnen we ze een e-mail sturen met de verkorte link (of niet), die de volgende inhoud heeft:
 http://www.paginadeseada.com/?search=
Met dit voorbeeld wordt duidelijk hoe eenvoudig het is om een ​​dergelijke kwetsbaarheid te misbruiken.

2. Aanhoudend XSS-voorbeeld


In een opmerking kunnen we een HTML- of JavaScript-code plaatsen, die op de server wordt opgeslagen en dat elke keer dat de pagina met de opmerking wordt geladen, deze doorverwijst naar onze webpagina, voor dit voorbeeld kan de volgende HTML-code worden ingevoegd:
 
We wenden ons tot een ander voorbeeld dan degene die we nu hebben gezien. Nu gaan we voorbeelden zien van DVWA, een webapplicatie ontwikkeld met PHP en MySQL. Deze applicatie komt al in Metasploitable 2, die je in een virtuele machine kunt mounten.

Hiermee kunnen we verschillende webaanvallen testen, en we kunnen de mate van beveiliging aanpassen (voor de voorbeelden die we de lage gebruiken), we zullen ook de PHP-codes kunnen zien die worden aangevallen, zodat u kunt zien wat niet gebruiken in uw codes.

3. Voorbeelden XSS weerspiegeld DVWA


In deze sectie zullen we verschillende voorbeelden zien, laten we beginnen. Als we een normale naam plaatsen, hetzelfde Toets, de applicatie werkt prima, laten we de afbeelding bekijken:

VERGROTEN

Als we de volgende code als naam invoeren:

 Toets
We zien dat de naam vet wordt (misschien wordt het in de afbeelding niet erg gewaardeerd):

VERGROTEN

En als we een input geven, zal het dan werken? Om het te testen voegen we de volgende code in:

 
En we zien in de volgende afbeelding dat het heeft gewerkt:

VERGROTEN

Laten we verder gaan met XSS opgeslagen (opgeslagen).

4. XSS opgeslagen DVWA-voorbeelden


We gaan verschillende proofs of concept uitvoeren, het eerste wat we zullen doen is een korte tekst invoegen vergezeld van een script als commentaar, laten we eens kijken wat er gebeurt, het script is zo eenvoudig mogelijk, het is het volgende:
 Hallo en doei.

VERGROTEN

Wanneer we het invoeren zoals in de vorige foto, klikken we op Gastenboek ondertekenen, de opmerking wordt verzonden, er gebeurt niets vreemds, de tekenreeks wordt gezien, er zijn geen tekenen van het script, zoals we hieronder kunnen zien:

VERGROTEN

Er is dus niets gebeurd? Laten we het controleren, de pagina vernieuwen en we zien dat de waarschuwing springt:

VERGROTEN

Je kunt ook waarderen dat de opmerking alleen Hallo heeft, daarom is het script tussen de tekst geplaatst, zodat je kunt zien dat het het leest, het stopt bij de waarschuwing en wanneer je op OK klikt, heb je de rest van de tekst en de rest van de pagina die het miste (net als de groene links die onder het opmerkingengedeelte stonden).

Nu zullen we een formulier in de opmerking invoegen, je kunt zien dat het aantal tekens dat je kunt invoeren beperkt is tot 50, omdat we de HTML-code van het tekstgebied van de opmerking gaan inspecteren (klik met de rechtermuisknop, Inspecteren):

VERGROTEN

Wij zien maximale lengte = ”50”, we gaan nog een 0 toevoegen aan het einde, blijvend in 500, zoals we hieronder zien:

VERGROTEN

En nu gaan we de volgende HTML-code becommentariëren:

 Schrijf je naam:
We zien dat hij het al accepteert, dus we geven aan Gastenboek ondertekenen en we zien het volgende:

VERGROTEN

Het formulier is ingevoegd, zoals we hebben geverifieerd. Tot slot, als je wilt oefenen met het gemiddelde niveau in opgeslagen XSS, probeer dan het volgende:

1e. Wijzig het maximum aantal tekens dat het veld Naam accepteert, net zoals we eerder deden.

2e. Voeg de volgende naam toe:

 Toets 

3e. Zet als opmerking wat je wilt.

4e. Stuur de opmerking en werk het scherm bij, je zult zien dat het is opgeslagen.

Als je de Cookie wilt verwijderen, zou ik het script voor het volgende wijzigen:

 
U ziet het volgende:

Vervolgens laat ik de link naar een raamwerk genaamd XSSer dat ons zal helpen om XSS-kwetsbaarheden detecteren, exploiteren en rapporteren.

Op zijn pagina komt het zoals het is geïnstalleerd (in Kali Linux 2016 komt het al) en voorbeelden van gebruik.

We hebben de mogelijkheden gezien die een aanvaller heeft als hij een kwetsbare webpagina voorgeschoteld krijgt, het vermijden van deze aanvallen is niet moeilijkTegenwoordig hebben we in elke programmeertaal functies die ons leven gemakkelijker maken. Het is belangrijk dat u deze fouten controleert voordat u een webpagina lanceert, omdat dit uw bedrijf kan ruïneren.

Als je een tutorial wilt zien waarin deze applicatie wordt gebruikt, maar andere soorten aanvallen worden uitgevoerd: Pentesting met DVWA.

Ten slotte wordt er een link gegeven voor het geval je een ander type aanval wilt zien, die ook te maken heeft met het injecteren van code: SQL-injectie.

Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave