🔐

Sicherheitsaspekte von Identifikation und XML

Apr 14, 2025

Identifikation und Authentifikation

Information Leakage

  • Sensible Informationen sollten nicht öffentlich werden:
    • Technische Details von Anwendungen
    • Entwicklerkommentare
    • Laufzeit- und Serverinformationen
    • Benutzerspezifische Daten aus sozialen Netzwerken
  • Lösungen:
    • Vermeidung unnötiger Informationsoffenlegung
    • Obfuskation kann hilfreich sein

Rollen von Benutzern und HTTP Seitenkanäle

  • Beispiel-Code: <input type='hidden' name='userRole' value='guest' />

Vorhersagbare URLs und Dateinamen

  • Beispielhafte URL: /user/15/ und /user/1/
  • Beispielhafte Dateinamen: ?file=08052021-quartalszahlen.pdf

Directory Listing

  • Anzeige des Ordnerinhalts bei fehlender Index-Seite
  • Beispiel für Suchmaschinenanfragen: site:example.org intitle:'Index' inurl:/ backup+intitle:index+of+backup+intext:* sql

Fehlermeldungen und Stack Traces

  • Beispiel einer Fehlermeldung: Warning: file_get_contents('index.php') failed to open stream...
  • Hinweise zur SQL Syntax und Stack Traces

Offene CMS Schnittstellen

  • Mambo CMS
  • Typo3 CMS: example.org/typo3

Öffentliche Downloads

Ehemalige Sicherheitslücken

  • Zugriff auf private Bilder via vorhersagbare URLs

XML und XML Schema

Extensible Markup Language (XML)

  • Strukturiertes Datenformat, 1996 standardisiert
  • Designziele:
    • Plattformunabhängigkeit
    • Einfachheit
    • Generalität
    • Menschen- und maschinenlesbar

Einsatzgebiete

  • Office-Anwendungen (z.B. docx, odf)
  • Konfigurationsdateien, Login-Mechanismen
  • Bankgeschäfte, große Software-Frameworks, Firewalls

XML-Dokument Beispiele

  • Wohlgeformtes XML-Dokument: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <conversation> <greeting>Hello, world!</greeting> <response>Hello, XML</response> </conversation>
  • XML-Deklaration und Struktur beschreibt Version, Encoding und Standalone-Eigenschaften

XML-Eigenschaften

  • Groß-/Kleinschreibung beachten
  • Textinhalt braucht Maskierung für Sonderzeichen

XML-Attribute und Kommentare

  • Beispiel Attribut: <element name="value">
  • Kommentare im XML: <!-- Das ist ein Kommentar -->

XML-Namensräume

  • Vermeidung von Kollisionen durch Namensräume

Document Type Definition (DTD)

  • DTDs definieren Bausteine von XML-Dokumenten
  • Beispiel für Entitätsdefinition: <!ENTITY Entity-Name "Entity-Wert">
  • DTDs erlauben Definition externer Entitäten

XPath

  • XPath definiert Ausdrücke zur Navigation in XML-Dokumenten
  • Beispiele für XPath-Ausdrücke:
    • /dok - Erstes Element dok
    • //dok/kap - Alle kap-Elemente innerhalb aller dok-Elemente
    • //pa - Alle pa-Elemente auf allen Ebenen
    • child::pa - Alle pa-Kinder des aktuellen Knotens