Will Vandevanter - @_will_is_
Agenda (25 minutes):
Corrected Slides, References, and Code:
oxmlxxe.github.io
External DTD PoC
< !DOCTYPE root [
< !ENTITY post "MYSTRING">
]>
/word/document.xml
/ppt/presentation.xml
/xl/workbook.xml
< !DOCTYPE foo [
< !ENTITY post "1">
< !ENTITY post1 "&post;&post;">
< !ENTITY post2 "&post1;&post1;">
< !ENTITY post3 "&post2;&post2;">
< !ENTITY post4 "&post3;&post3;">
< !ENTITY post5 "&post4;&post4;">
]>
< foo> &post5; < /foo>
CVE-2014-3574
CVE-2014-3529
CVE-2012-6685 (ish)
CVE-2014-3660
XSS Testing
LFI
Relationship Id="rId1" Type="...relationships/officeDocument" Target="/word/document.xml"
Other File Formats
hlinkHover
XSLTransform
Embedded "Documents"
SSRF
Classic (X)XE in OXML
Canary Testing DTD and XE
XSS XE testing (CDATA/plain/attr)
XE LFI
Embedded (X)XE attacks
SSRF (X)XE
"Save As" Document Conversion
(DEFENSE) The libraries that parse XML on one part of the site (e.g. API) may not be the same ones that parse uploaded files; verify! Check configurations.
(DEFENSE) Patches exist, many are recent
(OFFENSE) Lots of surface area for exploitation
(OFFENSE) Untouched research targets
http://oxmlxxe.github.io