HTTP-Sicherheitslücken: So schützen Sie Ihre Website und haben Sicherheit

Websites sind Teil unseres Alltags. Dank ihnen können wir auf die Informationen zugreifen, die wir benötigen, und es ist möglich, alle Arten von Aktivitäten durchzuführen. Es gibt jedoch verschiedene Aktivitäten im Internet, die den Umgang mit personenbezogenen Daten oder sensiblen Daten jeglicher Art erfordern. Die Sicherheit einer Website, einschließlich Webanwendungen, ist mehr denn je ein wichtiger Aspekt nicht nur für den Entwickler, sondern auch für die Endbenutzer. In diesem Handbuch wird alles über HTTP-Schwachstellen erklärt, die fast so schwerwiegend sein können wie XSS (Cross-Site-Scripting) , um ein Beispiel zu nennen.

Denken Sie daran, dass die Basis des Webs die Hypertext Markup Language ist, d. H. HTML . Seit seiner Gründung wurde es als hervorragende Alternative zur Entwicklung von Webseiten vorgestellt. Im Laufe der Jahre hat seine Entwicklung sprunghafte Fortschritte gemacht. Entwicklern stehen Tausende von Bibliotheken zur Verfügung, um Websites an den ursprünglichen Zweck des Projekts anzupassen. Leider sind sie nicht ohne Sicherheitsbedrohungen und -risiken, insbesondere wenn es um Endbenutzer geht.

HTTP-Sicherheitslücken: So schützen Sie Ihre Website

Was ist das HTTP-Protokoll?

Ebenso müssen wir uns an die Betonung der Definition des HTTP-Protokolls erinnern und diese gut berücksichtigen. Also auch, wofür ist es? Es ist ein Kommunikationsprotokoll. Seine wesentliche Funktion ist die Übertragung von Daten durch die WWW (Weltweites Netz) . Es ist eine der wesentlichen Komponenten der Architektur des Webs. 1999 wurde die erste Version der Protokolldokumentation veröffentlicht, mit RFC 2616 wurde dieses Protokoll mit Version 1.1 veröffentlicht. Im Laufe der Jahre wurden verschiedene Versionen veröffentlicht, und die neueste verfügbare Version ist HTTP / 3, die die Nachfolge des aktuellen HTTP / 2 antreten wird, das in der überwiegenden Mehrheit der Internet-Websites weit verbreitet ist.

Das wesentliche Betriebsschema besteht aus Folgendem: Ein Client (Webbenutzer) versucht, über eine Anforderung eine Verbindung herzustellen. Diese Anforderung sendet eine Nachricht mit einem bestimmten Format an den Webserver. Dieser Webserver ist derjenige, der die Website oder den Dienst hostet, von dem wir Informationen benötigen. Wenn die Verbindung erfolgreich ist, antwortet der Webserver auf diese Anfrage mit einer positiven Antwort. Dies geschieht mehrmals täglich, wenn Sie Ihre Lieblingswebsites besuchen.

HTTP-Schwachstellen (+ HTML)

Der Satz von HTML und HTTP enthält mehrere Anwendungen mit böswilligen Zwecken oder die sich einfach nicht so verhalten, wie man es erwarten würde. Folglich werden sie wichtig Schwachstellen die die Integrität der Website oder Webanwendung gefährden. Vor allem in Bezug auf die Sicherheit dieser Site oder Anwendung.

Versteckte Formularfelder

Eine der bekannten Funktionen von HTML ist, dass es ein Formularattribut gibt, mit dem Felder oder Objekte als ausgeblendet markiert werden können ( versteckt ). Wie spiegelt sich das auf einer Seite wider? Beim Öffnen einer Webseite kann der Benutzer nur die sichtbaren Felder ausfüllen, der Rest ist ausgeblendet. Natürlich werden die meisten Benutzer nicht erkennen, dass es genau versteckte Formularfelder gibt. Dies birgt die Gefahr, dass der Entwickler der Seite dieses Attribut verwendet, um versteckte Felder in der Form zu implementieren, mit der er vertrauliche Daten auf dem Webserver speichern kann. In vielen Fällen ist dies nicht erforderlich.

Folglich bestimmt die Berufsethik jedes Entwicklers, ob die Verwendung dieses bestimmten Attributs angemessen ist.

<html>
<input type="hidden" id="precio" name="precio" value="200">
<html>

Oben sehen Sie ein Beispiel für das Anwenden ausgeblendeter Formularfelder. Dies ist ein angeblich verstecktes Feld, in dem Preisinformationen gespeichert werden. Im Allgemeinen werden in einem Webshop die unterschiedlichen Preise auf der Serverseite behandelt. In diesem Fall werden solche Daten auf der Benutzerseite behandelt. Es ist, als ob dieses versteckte Feld als vermeintlicher Webserver fungiert, auf dem Daten jeglicher Art gespeichert werden. Obwohl dies auf den ersten Blick recht praktisch ist, birgt es sein Risiko, vor allem, weil der Benutzer die verschiedenen Preise einfach über den Browser selbst manipulieren kann.

Denken Sie daran, dass es möglich ist, den Quellcode einer Webseite über den Browser anzuzeigen. Google Chrome ist der Browser, den die meisten Benutzer verwenden, und die Verknüpfung für den Zugriff auf die Entwicklerkonsole lautet “ STRG + Umschalttaste + I “. Auf diese Weise können Sie unter anderem eine Kopie der Webseite auf Ihrem Computer speichern oder einen Webproxy verwenden, um Daten auf einer Webseite, insbesondere die Formularfelder, zu bearbeiten.

Zurück zum Beispiel: Dank der ausgeblendeten Felder können Sie den Preis auf der Benutzerseite bearbeiten und den gewünschten Preis anwenden, bevor Sie den Kauf abschließen. Daher ist es ratsam, diese Attributtypen nicht auf Formularfelder anzuwenden, insbesondere wenn es sich um Websites handelt, die Werte verarbeiten.

Magische URLs

Eines der wesentlichen Konzepte von HTML ist das URL . Das Akronym in Englisch steht für Uniform Resource Locator . Es ist das, was die Leute allgemein als Link oder Link zu einer beliebigen Webseite. In der Webentwicklung gibt es ein merkwürdiges Konzept von magischen Links oder magischen URLs. Der HTTP-Standard ermöglicht es einem Webentwickler, zusätzliche Daten, die in einer URL relevant sind, in Form von Verben oder Schlüsselpaaren bereitzustellen. Diese zusätzlichen Daten, seien es Verben oder Schlüsselpaare, sind wesentliche Bestandteile von a magische URL . Es werden vertrauliche und / oder wichtige Daten zwischen dem Client und dem Webserver verwaltet.

http://www.misitioweb.com?OpDEfgtRDBc&action=view

Oben sehen wir ein Beispiel für eine magische URL. Anscheinend gibt es nichts Ungewöhnliches. Was jedoch nach ".com / OpDEfgtR ..." kommt, ist das Verb oder Schlüsselpaar, das diese Daten enthält, die für die Kommunikation zwischen dem Client und dem Webserver so relevant sind. Welche Daten könnten nun in magischen URLs gespeichert werden? Dies können Passwörter, PIN-Schlüssel, Bankkontonummern, Kreditkarten, Cookies aus den verschiedenen Sitzungen einer Website und vieles mehr sein.

Dies ist ein weiterer Fall einer vermeintlichen praktischen Anwendung des Datenmanagements, der jedoch viel gefährlicher sein kann. Ein Cyberkrimineller kann die Kommunikation zwischen dem Client und dem Webserver abfangen, um die in diesem Verb oder Schlüsselpaar in der URL verfügbaren Informationen zu dekodieren. Mit den heute verfügbaren Ressourcen wird es keine sehr schwierige Aufgabe sein.

Vorhersehbare Cookies

Obwohl es etwas schwierig ist, die Zuordnung des Wortes zu vermeiden Plätzchen mit den leckeren Keksen, die wir alle kennen, Cookies im Internet spielen eine wesentliche Rolle beim Surfen Tag für Tag. Sie sind so konzipiert, dass sie persistente Daten auf der Clientseite, dh auf dem Client-eigenen Gerät, speichern können. Über unseren Browser können wir unsere Cookies jederzeit verwalten. Dies hilft uns vor allem dabei, unsere Identität in den verschiedenen Webdiensten zu authentifizieren.

from http import cookies

CookieWert = 0
def getCookie():
c = Cookies.SimpleCookie ()
c ['usercookie'] = cookieVal
CookieWert + = 1
Rückkehr c

Das Problem beginnt, wenn Cookies mit vorhersagbarer Generierungslogik entwickelt werden. Es ist heute sehr schwierig, sich für so etwas zu bewerben, aber wir dürfen nicht ausschließen, dass viele Webseiten diese Sicherheitslücke haben könnten. Angenommen, jede Webseite (siehe Beispiel oben) generiert Sitzungscookies, und wenn jede von ihnen generiert wird, erfolgt die Erhöhung nacheinander. Das heißt, Cookie mit dem Wert "1", Cookie mit dem Wert "2", Cookie mit dem Wert "3" und so weiter.

Bei näherer Betrachtung des Beispielcodes ist dies die Zeile, die den Wert des Cookies verursacht, das im gespeichert ist CookieVal variabel, um eins zu erhöhen:

cookieVal += 1

Vorhersehbare Cookies ermöglichen es einem Cyberkriminellen, auf die Websitzungen mehrerer Benutzer zuzugreifen, ohne die Zugangsdaten kennen zu müssen. Wenn eine Webseite 1000 Cookies mit der soeben demonstrierten Logik generiert hat und ein Cyberkrimineller die Kontrolle über die Website hat, kann er 1000 Sitzungen von Benutzern dieser Seite durchführen. Daher ist es wichtig, dass Sie als Webentwickler die Best Practices beim Arbeiten mit Cookies anwenden. Kostenlose Ressourcen wie die, die wir im Mozilla Developer finden Netzwerk sind nützlich, praktisch und für jeden zugänglich, der die Sicherheit von Cookies gewährleisten muss. Sie können auf diese Webressource auf Spanisch über zugreifen HTTP-Cookies .

Es besteht kein Zweifel, dass das Web, wie wir es kennen, ohne HTML und HTTP nicht existieren würde. Es wird jedoch nicht von Schwachstellen verschont. Dies bedeutet, dass es mehr denn je wichtig ist, die oben genannten Schwachstellen zu kennen und sie zu behandeln, um sie wirksam kontrollieren zu können. Infolgedessen sind die von Ihnen entwickelten Webseiten in Bezug auf die Sicherheit robuster und führen letztendlich zu Ruhe und Vertrauen für den Benutzer, der zunehmend Cyberangriffen ausgesetzt ist.