zoukankan      html  css  js  c++  java
  • 一道CTF针对XXE漏洞的练习

    题目链接:http://web.jarvisoj.com:9882/

    目的很明确获取/home/ctf/flag.txt的内容

    一般读取目标机的本地文件都会用到file协议。

    思路:

    那么思路一:文件包含;

    思路二:ssrf漏洞,这个成功率不大;

    思路三:xxe漏洞,再没看源码的情况下试了一下,发现可以。

    验证:

    访问题目链接

    随便输入,输入url发现都没有什么回显或者跳转

    那么直接burp抓包

    我们把content-type改成application/xml的类型,然后下方就可以写入xml代码,先用dtd内部注入看一下能执行不

    发现可以成功执行,外部实体注入的话这里没有服务器,不能够测试,那么直接外部注入看是否成功

    发现可以读取文件,那么直接读取home/ctf/flag.txt内容

    flag读取成功!

     也可进行源码分析

    发现是AJAX异步传送数据
    在一般的异步网站都会有异步数据与服务器的交互,一般传送数据为json但如果将传送的数据格式改为xml。有很大的可能服务器会解析你异步上传的xml脚本执行想要干的事。

  • 相关阅读:
    【JAVA与C#比较】其它
    C#和java之间的一些差异与共性
    C#与Java的语法差异
    关于npm本地安装模块包(node_modules),安装不了的问题
    vue
    vue
    vue
    vue
    v
    vue -model
  • 原文地址:https://www.cnblogs.com/-chenxs/p/11374614.html
Copyright © 2011-2022 走看看