Transcript for:
Sicherheitsaspekte von Identifikation und XML

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: > < ( &lt ;), > ( &gt ;), & ( &amp ;), " ( &quot ;), ' ( &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:  &lt ; oder &amp ; 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