Wie Web Codierung Schwachstellen zu verhindern

July 21

Skripting Entwicklung Störungen oft lassen Eindringlinge nicht autorisierten Zugriff auf Websites. Sie betreten durch ungültige URL-Sitzungs-IDs und durch Abfangen von Benutzereingaben, wo Cookie Clientsitzungen gelesen werden können. Ausländische Skriptkomponenten innerhalb einer vertrauenswürdigen Quelle Browser ausgeführt sind eine weitere Möglichkeit, den Angreifer Web Codierung Schwachstellen gut nutzen. Um Schwachstellen einzuschränken, verwenden Sie ein strategisches Konzept, das eine Vielzahl von Methoden implementiert.

Anweisungen

1 Lehnen Sie einen Link oder Host, wenn die HTTP-Referer-Bereich in der vom Nutzer übermittelte Formular oder Link nicht die Quell-URL übereinstimmt.

2 Begrenzen Sie die maximale Länge der vom Benutzer angegebene Zeichenfolgen. Kürzen Sie die Antworten, die die maximale Reaktion Länge nicht überschreiten. Überprüfen Sie die Zeichenfolgen auf dem clientseitige und serverseitige.

3 Verbieten < OBJECT >, < EMBED > und < SCRIPT > Inhalt eingereicht werden. Entfernen Sie alle "getURL()"-Felder, die außerhalb der aktuellen Anwendung Verweise enthalten. Verwenden Sie "HTTP POST" statt "HTTP GET" verhindern, dass Angreifer senden von URLs mit schlechten Code.

4 Überprüfen Sie und Filtern Sie permanente Cookies zu, bevor Sie sie in HTML-Dokumente platzieren; Andernfalls können persistente Cookies, Speichern von Benutzerinformationen, von Angreifern leicht geändert werden.

5 Steuern Sie und die verkürzen Sie das Sitzungstimeout ID zu, so dass ein Angreifer keine Zeit um CSS-Fehler zu entdecken haben. Auf diese Weise muss eine gültige Session-ID wieder verwendet werden. Die Sitzungs-ID sollte auf den Anfang oder die Homepage der Website. Eine automatische Weiterleitung an den Anfang oder die Homepage sollte von einem Angreifer versuchen, durch eine andere Seite betreten führen.

6 Behandeln Sie Sonderzeichen anders beim Codieren der Ausgabe. Beispielsweise, wenn ein Client-Datenübermittlung Komplex ist, codieren Sie die Ergebnisse zurück an den Client gesendet. Der Anfang-HTML-Tag "<" codiert sein könnte, als "& Lt," zum Beispiel. Dies würde als das Starttag, dem Benutzer, nicht an die Clientanwendung angezeigt.

7 Verwenden Sie Positive Input Filter. Reduzieren Sie das Risiko von einschließlich Zeichen, die ausgenutzt werden können, durch konsequent Filtern aus einer Reihe von Zeichen, die bekannt sind, um sicher zu sein. Nehmen Sie zum Beispiel ein Formularfeld für Alter des Benutzers. Der Zeichensatz sollte auf Ziffern von 0 bis 9 beschränkt sein. Andere Sonderzeichen oder Buchstaben sollten nicht akzeptiert werden. Die Ziffern darstellen eine sichere Gruppe von Zahlen in Positive Filterung für das Formularfeld.

8 Verwenden Sie Ausgabe-Filterung, um die Ergebnisdaten für Sonderzeichen aus der serverseitigen Anwendung vor dem Senden an den Client-seitigen Webbrowser zu senden. Inhalt, die gefiltert, war nicht von Systemprozessen gespeichert werden kann oder andere Anwendungen konnte von einem Benutzer hinzugefügt. Dies gilt insbesondere, wenn Daten aus einer Datenbank oder ein Speicherformat abgerufen wurden.

Tipps & Warnungen

  • Beachten Sie Vorsicht beim Einsatz von Filtern von Ausgabe. Vorzeitige Filterung des HTML-Codes "<" weniger als und ">" größer als Markierungen Client Dokumente unleserlich zu machen können. Dass die Methode funktioniert am besten, wenn das Sonderzeichen Filtern auf den Benutzer beschränkt gelieferten Daten, die zuvor in der Datenbank gespeichert wurde.