XML External Entity Injection xml外部实体注入 XXE
攻击原理:本质与sql注入,xss是一样的,都是没有过滤。对xml文件没有过滤。
xml原理
XML语言例子:随便了解一下,攻击中用到的不是特别多。
真正用到的是DTD
DTD教XML如何做人。就像你教育自己的孩子一样。XML有什么功能由DTD来解释。
DTD的定义与标准
实体:就是给那些东西编号。
带有DTD的xml文档
漏洞环境搭建实验。
测试漏洞的时候,对症下药。不同环境引用不同协议。
搭建好之后先开启服务
查一下IP
看见页面说明环境搭建成功。
查看一下环境网站中的页面有哪些(其中,dom.php中存在任意文件读取漏洞)
手工写一个DTD声明payload(攻击代码)。这就是学编程的目的以及编程中所涉及到的一些中间层,为的就是构造攻击代码(这里的中间层为定义XML文件的,DTD声明)
将编写好的攻击代码,配合burpsuite一起使用(burp为破解版,kali自带的要钱。使用1.7.30版本)
抓包,payload直接提交到如图的地方。
服务器的系统配置文件被读取出来了
在服务器上的web路径下,添加DTD恶意文件
重命名为dtd
外部文件引用的代码
还是抓包,把代码复制上去。发送。
根据这个文件,可以来一个内网端口探测。相当于一个跳板,类似于SSRF漏洞。比如探测3306端口,如图显示没有开这个端口。
看一下80端口
两个包对比一下(探测80与3306端口的包)。如果不知道怎么操作对比的话,可以参考二三季的视频。
直接批量扫描一下
开放的端口的长度与其他的有差别
无回显的
服务器构造一个环境
构造好以后粘贴进去(没有回显什么,只看得见系统的配置文件,把它们读取出来)
修改一下xml文件
可以发现配置文件了
dos攻击
dos攻击原理
总结:挖漏洞的过程就是找到原理教学文章,搭建环境,复现漏洞。(实践中学习) -------余弦。 精良的东西全都来自于重复的修改与完善。 -----《黑客与画家》