一道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脚本执行想要干的事。

猜你喜欢

转载自www.cnblogs.com/-chenxs/p/11374614.html