Title: Identifikation und Authentifikation
URL Source: blob://pdf/e87c6b28-267f-4ede-b1cf-855c1c910916
Markdown Content:
Information Leakage
Sensible Informationen die nicht in die ffentlichkeit gehren werden
offenbart
Technische Details einer Anwendung
Kommentare von Entwicklern
Laufzeit - / Serverinformationen
Benutzerspezifische Daten ( Social Networks)
Abhilfe schafft hufig alle unntig ausgegebenen Informationen zu
vermeiden, notfalls kann Obfuskation hilfreich sein
> 1
## Information Leakage
Rollen von Benutzern
HTTP Seitenkanle ( Demo )
> 2
<input type ='hidden' name ='userRole ' value ='guest' />
<! DOCTYPE html SYSTEM "https://mniemietz.de/doctype" >
<html xmlns ="http://www.w3.org/1999/xhtml"
manifest ="https://mniemietz.de/html -manifest" >
<head >
<! --
%Base (check manually)
-->
<base href ="https://mniemietz.de/base -href /" Information Leakage
Vorhersagbare URLs: /user/15/ /user/1/
Ableitbare Dateinamen : ?file=08052021 -quartalszahlen.pdf
nderung des Datums?
nderung des Pfads ?
Suchmaschinen : ?search=% foobar %
> 3
## Information Leakage
Directory Listing:
Anzeige des Ordnerinhaltes, wenn keine Index -Seite hinterlegt ist
Suchmaschinen wie Google
site:example.org intitle:'Index
inurl :/ backup+intitle:index+of+backup+intext :* sql
robots.txt: Worauf sollen Suchmaschinen zugreifen ?
> 4
## Information Leakage
Fehlermeldungen
Warning: file get contents(' index.php ') ( function.file -get -contents): failed to
open stream: No such file or directory in /var/www/ myblog / on line 36
You have an error in your SQL syntax. Check the manual that corresponds to
your MySQL server version for the right syntax to use near ...
Stack Traces
Versionen von Software
> 5
## Information Leakage
Mambo CMS
Typo3 CMS: example.org/typo3 (Interface zur Administration)
> 6
<link href ="/ templates /md_mambo /css /default_css.css" >
<link href ="/typo3conf/ ext /news/newsimp_styles.css" >Information Leakage
Please download your hotel reservation
<a href ='
ftp://kundef20bf:
[email protected]/reservation.pdf
'>here</a>
> 7
## Information Leakage
zds
Verwendung nicht von allen Urheberrechtsinhabern genehmigt
Angriff:
Flash hat nicht funktioniert
FLV -Datei enthlt jedoch weitergehende Audiodateien
Download alternativer Dateien
> 8
## Information Leakage
Ehemaliger Bug: Zugriff auf private Bilder
Herleitung
http://facebook.com/Profile/?id= hsnr
http://facebook.com/ Pictures /?id= attacker
http://facebook.com/ Pictures /?id= hsnr
> 9
# XML und XML Schema
Kapitel 21 (Schwenk)
> 10
# Extensible Markup Language
# (XML)
> 11
## XML
Strukturiertes Datenformat
1996 standardisiert
Designziele:
Plattformunabhngigkeit
Einfachheit
Generalitt
Einfach zu erstellen und zu verarbeiten
Menschenlesbar und maschinenlesbar
> 12
## Einsatzzwecke
Office -Anwendungen (z. B. docx , odf )
Konfigurationsdateien
Login -Mechanismen
Bankgeschfte
Groe Software -Frameworks
Firewalls
> 13
## Einfaches Beispiel
<PaymentInfo >
<Name> John Smith </Name>
<CreditCard Limit ='5000' >
<Number >4000...7899 </ Number >
<Issuer >Example Bank </ Issuer >
<Expiration >04/22 </ Expiration >
</ CreditCard >
</ PaymentInfo >
> 14
## Wohlgeformtes XML -Dokument -Beispiel
> 15
<? xml version ="1.0" encoding ="UTF -8" standalone ="yes" ?>
<conversation >
<greeting >Hello , world !</ greeting >
<response >Hello , XML </ response >
</ conversation >
XML -Deklaration
einschlielich Encoding -
Informationen
XML -Root -Element
Jedes Element ist
ordnungsgem
geschlossen
Textinhalte befinden sich
in den Blattelementen /
leaf elements (EN)
XML -Baumstruktur
> 16
Hello, world!
<?xml version="1.0" standalone="yes"?>
<conversation>
<response> <greeting>
\
Hello, XML! XML -Deklaration
<?xml version="1.0" encoding="UTF -8" standalone="yes"?>
bedeutet:
version="1.0" : XML Version 1.0
encoding="UTF -8" : Unicode -Zeichen mit variabler Codierung, die ASCII als
Teilmenge enthlt (Default -Wert). Andere Codierungen mglich.
standalone="yes" : Es ist nicht ntig, eine DTD oder ein XML Schema zur
Validierung heranzuziehen. Der Default -Wert ist "no ".
> 17
XML -Eigenschaften
Gro -/Kleinschreibung beachten:
<HTML/> und <html /> sind zwei verschiedene Elemente
Textinhalt:
Kann nicht weiter strukturiert werden
Sonderzeichen mssen maskiert werden:
> < ( < ;), > ( > ;), & ( & ;), " ( " ;), ' ( &apos ;)
<![CDATA[ ]]>
> 18
## XML -Attribute
Beispiel: <element name =" value "> (immer zwischen " oder ')
Jeder Attributname kann nur einmal in ein Element aufgenommen
werden
Elementinhalt kann auch in einem Attribut platziert werden:
> 19
> <conversation >
> <greeting text ="Hello , world! "></greeting>
> <response text ="Hello, XML "></ response >
> </ conversation >
## XML -Kommentare
<! -- das ist ein Kommentar -->
<! -- ein Kommentar kann beliebige Daten enthalten &>" -->
<! -- und kann an beliebiger Stelle im Dokument platziert werden -->
> 20
## XML -Namensrume
Ermglicht Kollisionen zu vermeiden
> 21
<con:conversation xmlns:con ="http://conversation.org ">
<con:greeting text +HOOR ZRUOG ></ con:greeting >
<con:response text Hello , ;0/ ></ con:response >
</ con:conversation >Anweisungen zur XML -Verarbeitung
Kann spezifische Anweisungen fr weitere Anwendungen enthalten
Beispiele ( XML -Datei ):
<something:script xmlns:something ="http://www.w3.org/1999/xhtml">
alert(1)
</ something:script >
<?php mysql_connect (...);?>
> 22
## Document Type Definition (DTD)
Motivation:
< ; oder & ; sind vordefinierte XML -Entitten
Wie kann man neue Entitten definieren?
DTD definiert Bausteine eines XML -Dokuments
Beispiel fr eine Entittsdefinition:
<!ENTITY Entity -Name "Entity -Wert">
> 23
DTD
Parsen eines Dokuments mit DTD
> 24
<!DOCTYPE Hello [
<!ENTITY world "Hello, world !">
<!ENTITY xml "Hello, XML!">
]>
<conversation >
<greeting >&world ;</ greeting >
<response >&xml ;</ response >
</ conversation >
<conversation >
<greeting >Hello , world !</ greeting >
<response >Hello , XML! </ response >
</ conversation >
Physische
Dokumentenstruktur
Vom Datenverarbeiter
gesehenes XML -
Dokument
DTD
Ermglicht auch die Definition externer Entitten
<!ENTITY entity -name SYSTEM "URI/URL">
<!ENTITY entity -name PUBLIC " identifier " "URI/URL">
Kann auf eine beliebige Systemdatei oder URL verweisen
> file:// ,http:// ,smb://
Das Parsen von DTDs aus nicht vertrauenswrdigen Quellen ist
gefhrlich (Details spter)
DTD -Nutzung: XML -Strukturvalidierung
(heutzutage mit XML -Schema durchgefhrt)
> 25
## XPath
XPath definiert Ausdrcke ( Expressions )
Auswertung eines Ausdrucks liefert normalerweise eine
<; node set Dd
Quelldokuments
Auswertung kann auch eine Zahl, String oder booleschen Wert liefern
XPath beschreibt primr relative und absolute Pfade in XML -Bumen,
aber auch einfache Arithmetik und Stringmanipulation
XML Path Language (XPath) Version 1.0:
https://www.w3.org/TR/1999/REC -xpath -19991116/
Hilfereiches Tool: https://www.freeformatter.com/xpath -tester.html XML Path Language ( XPath )
> 27
<? xml version ="1.0" encoding ="utf -8" standalone ="yes " ?>
<dok >
<! -- ein XML -Dokument -->
<kap title ="Nettes Kapitel" >
<pa >Ein Absatz </ pa >
<pa >Noch ein Absatz </ pa >
<pa >Und noch ein Absatz </ pa >
<pa >Nett, oder? </ pa >
</ kap >
<kap title ="Zweites Kapitel" >
<pa >Ein Absatz </ pa >
<pa format ="bold ">Erste Zeile </ pa >
<pa format ="bold ">Zweite Zeile </ pa >
<pa format ="italic ">Dritte Zeile </ pa >
</ kap >
</ dok >
Quelle: https://de.wikipedia.org/wiki/XPath Ausdruck
/dok das erste Element dok
/*
das uerste Element unabhngig vom Namen (jedes
wohlgeformte XML -Dokument hat
genau ein uerstes Element), hier dok
//dok/kap alle kap -Elemente innerhalb aller dok -Elemente
//dok/kap[1] alle jeweils ersten kap -Elemente innerhalb aller dok -
Elemente
//pa alle pa -Elemente auf allen Ebenen
//kap[@title='Nettes Kapitel']/pa <dE<
//kap/pa[2] Jeweils das zweite pa -Element in den beiden Kapiteln.
//kap[2]/pa[@format='bold'][2] Zweite Zeile mit dem Format ' bold ' im 2. Kapitel.
child ::* alle Kindelemente des gegenwrtigen Knotens
child :: pa alle pa -Kinder des gegenwrtigen Knotens
child::text() alle Textknoten des gegenwrtigen Knotens