[RUBY] Sicherheit in Webanwendungen

Das Entwickeln von Webanwendungen ohne Sicherheitsmaßnahmen ist äußerst gefährlich. Was ist Sicherheit? Wenn Sie keine Sicherheitsmaßnahmen ergreifen ・ Warum es gefährlich ist · Was wird passieren ・ Wie man Maßnahmen ergreift Ich habe zusammengefasst, was ich gelernt habe. (Entwicklung in Ruby)

Annahme
Programmieranfänger(1~2 Monate) habe ich gelernt.
Es funktioniert möglicherweise nicht im tatsächlichen Feld oder enthält möglicherweise falschen Inhalt.
Wir würden uns freuen, wenn Sie Fehler oder flache Teile hinzufügen oder darauf hinweisen könnten.

Warum ist es ohne Sicherheitsmaßnahmen gefährlich?

Warum sind ungesicherte Webdienste gefährlich und was passiert? ** Fazit ** Der Benutzer verliert persönliche Informationen. Der Administrator kann die Webseite ohne Erlaubnis manipulieren.

Wenn Sie etwas genauer hinschauen, ・ Persönliche Informationen können ohne Erlaubnis eingesehen werden ・ Der Inhalt der Webseite wird manipuliert ・ Die Webseite selbst ist nicht mehr verfügbar als Ergebnis ・ Großer Schaden für Benutzer von Webdiensten ・ Verlieren Sie die soziale Glaubwürdigkeit veröffentlichter Webseiten

Was ist Sicherheit in Webdiensten?

Anfällige Webdienste sind weniger sicher.

Verletzlichkeit

Sicherheitslücken werden auch als Sicherheitslücken bezeichnet und sind mögliche Softwarefehler oder Probleme bei der Verwendung. Es kann gesagt werden, dass es eine Schwachstelle ist, wenn ein Angriff von einer böswilligen Person gestartet wird. Diese Sicherheitsanfälligkeit verursacht sowohl Entwicklern als auch Benutzern verschiedene Schäden.

Arten von Sicherheitsangriffen

・ Sicherheitsangriff durch JavaScript ・ Angriff mit Sitzung ・ Angriff, der eine illegale Anfrage stellt ・ Angriff durch SQL Stellen Sie sich einen Angriff als einen Vorgang zum Extrahieren persönlicher Informationen vor.

Angriff mit JavaScript

JavaScript ist eine clientseitige Programmiersprache. Durch das Einbetten von schädlichem JavaScript können Sie den Benutzer zwingen, das Programm auszuführen, wenn Sie die eingebettete Seite anzeigen. Diese Art von Angriff wird als XSS (Cross Site Scripting) bezeichnet. Das Einbetten und Ausführen eines Skripts wird als Skripting bezeichnet. Es scheint, dass viele der Inhalte persönliche Informationen an den Server einer böswilligen Person senden.

Angriff mit JavaScript

JavaScript ist eine clientseitige Programmiersprache Durch das Einbetten von schädlichem JavaScript in den Browser, in dem der Benutzer die Webanwendung angezeigt hat, kann der Benutzer dazu gebracht werden, das Programm auszuführen. Ein solcher Angriff heißt ** XSS **

XSS (Cross Site Scripting)

Eine Methode, bei der ein Angreifer ein schädliches JavaScript-Programm (Skript) in eine anfällige Webanwendung einbettet und den Benutzer dieser Site angreift. XSS ist eine Technik, deren Ziel es ist, ein schädliches Skript auszuführen, wenn eine Webanwendung angezeigt wird. Das Einbetten und Ausführen eines Skripts wird als "Skripting" bezeichnet. Viele der Inhalte sind Skripte, die die persönlichen Informationen des Benutzers an den Server einer böswilligen Person senden.

XSS-Angriffsmuster

Es gibt zwei Arten von XSS-Angriffsmustern: reflektierendes XSS und einziehbares XSS.

Reflektierendes XSS

Eine Technik, mit der ein Skript in einer anfälligen Webanwendung ausgeführt werden kann, wenn ein Benutzer auf eine schädliche URL klickt Verfahren ① Lassen Sie den Benutzer auf die URL klicken Ein Angreifer veranlasst einen Benutzer, auf eine schädliche URL zu klicken (eine geänderte URL, die zu einer anfälligen Webanwendung übergeht). → Ist die anfällige Anwendung eine Quelle für Angreifer? Oder ist es eine völlig unabhängige Seite? Wenn der erstere überzeugt, wenn der letztere, wird der letztere nur wegen schwacher Sicherheit genutzt? ② Wenn der Benutzer klickt, wird das Skript in der anfälligen Webanwendung ausgeführt Schädliche URLs enthalten Skripte, die auf anfälligen Webanwendungen ausgelöst werden. Daher wird beim Öffnen einer anfälligen Webanwendung ein Skript ausgelöst. ③ Wenn das Skript ausgelöst wird, werden persönliche Informationen an den Server des Angreifers gesendet Das ausgelöste (ausgelöste) Skript war wie das Extrahieren persönlicher Informationen. Die persönlichen Daten des angeklickten Benutzers werden auf dem Server des Angreifers aufgezeichnet.

Auf diese Weise wird das Skript sofort ausgeführt, wenn auf eine URL geklickt und eine Antwort empfangen wird, sodass es als reflektierender Typ bezeichnet wird. Das Skript wird ausgeführt, nachdem von einer anderen Site (einschließlich E-Mail) zu einer anfälligen Webanwendung gewechselt wurde. Wenn URLs häufig in Chat-Apps veröffentlicht werden, bevor Sie auf diese Seite klicken Ist es eine sichere Seite? Ich denke, dass die Bestätigung herauskommen wird. Um dieses reflektierende XSS zu verhindern, denke ich, dass es angezeigt wird. Dies bedeutet Cross-Site-Scripting Cross-Site (Crossing-Websites).

Einziehbares XSS

Eine Angriffsmethode, die ein schädliches Skript in einen Beitrag einer anfälligen Webanwendung einbettet und das Skript auslöst, wenn ein Benutzer die Webanwendung besucht. Veröffentlichen Sie beispielsweise ein schädliches Skript in einem Twitter-Beitrag. Das Skript wird ausgelöst, sobald Sie zu der Seite wechseln, auf der Sie den Beitrag sehen können. Selbst wenn Sie nicht versuchen, den Beitrag zu sehen, werden Sie angegriffen, sobald Sie die Seite mit dem Beitrag öffnen. Verfahren ① Angreifer veröffentlichen mit einem Skript eine anfällige Webanwendung Betten Sie ein Skript ein, wenn Sie Inhalte aus einem Formular veröffentlichen. (2) Wenn der Benutzer die Seite mit dem Beitrag besucht, wird das Skript ausgelöst. Wenn Sie eine Postseite mit einem eingebetteten Skript öffnen, wird das Skript ausgelöst. Manchmal wird das Skript ausgelöst, wenn Sie die Maus über das Bild bewegen. ③ Wenn das Skript ausgelöst wird, werden persönliche Informationen an den Server des Angreifers gesendet. Es wird als Speichertyp bezeichnet, da es ein Skript in einer anfälligen Webanwendung speichert und es auslöst, wenn der Benutzer es besucht.

Umgang mit XSS

Viele Fälle von XSS werden immer noch gemeldet. XSS macht den größten Teil des Schadens aus, der durch anfällige Angriffe verursacht wird.

Problemumgehung

Die Hauptursache für XSS ist, dass die aus dem Formular eingegebenen Skript-Tags (

Recommended Posts

Sicherheit in Webanwendungen
Remote-Debugging von Java-Anwendungen in Azure Web Apps
Erstellen Sie eine API-Schlüsselauthentifizierung für die Web-API in Spring Security
Einfache Entwicklung von Webanwendungen mit STS und Spring Boot. In 10 Minuten.
Automatische Bereitstellung von in Java entwickelten Webanwendungen mit Jenkins [Tomcat App Edition]
Erstellen von Java-Webanwendungen unter Windows Server 2016
Erstellen von Java-Webanwendungen für Azure-Webanwendungen
Versuchen Sie es mit der Ressourcenanweisung in der Web-App
Rolle von JSP in Webanwendungen [Java]