xxe漏洞(xml外部实体注入漏洞)
想要挖掘一个漏洞我们首先就要知道这个漏洞是如何产生的。
**1.**漏洞产生原理
XXE漏洞就是”攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题”
也就是说服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入
**2.**漏洞利用
将payload注入XML文件中,一旦文件被执行,将会读取服务器上的本地文件,并对内网发起访问扫描内部网络端口。
有回显和无回显:有回显的情况可以直接在页面中看到Payload的执行结果或现象,无回显的情况又称为blind xxe可以使用外带数据通道提取数据
**3.**靶场案例讲解——使用pikachu-xxe讲解
在这里给大家推荐:http://114.116.45.110/里面有各种靶场,不想自己搭建的小伙伴可以使用一下。
正常回显****XXE
正常回显XXE是最传统的XXE攻击,在利用过程中服务器会直接回显信息,可直接完成XXE攻击。
报错****XXE
报错XXE是回显XXE攻击的一种特例,它与正常回显XXE的不同在于它在利用过程中服务器回显的是错误信息,可根据错误信息的不同判断是否注入成功。
盲注****XXE
当服务器没有回显,就需要选择使用盲注了。可组合利用file协议来读取文件或http协议和ftp协议来查看日志。
1.查看受攻击机的服务器日志
2.通过Dnslog平台查看是否进行查询
3.Burp Collaborator Everywhere 插件验证
进入靶场可以看到一个接收xml数据的api,那么我们在实施攻击之前判断一下有无回显:
<?xml version="1.0"?> ]>&xxe;
输入上述payload之后回显了”小黑子”说明存在回显。注意:只能判断是否存在回显,不能判断是否支持外部实体。

在知道存在回显后,可以尝试读取一些敏感目录,比如读取c:/windows/win.ini,它是每个windows系统都有的,linux系统的的话可以读取/etc/passwd,当然想要读取其他文件目录,只需更改绝对路径即可(file://协议只能用绝对路径)
payload:
<?xml version="1.0"?> ]>&xxe;

成功读取文件内容。
**4.**危害
1.DOS攻击
2.SSRF攻击
3.使用file协议读取任意文件
4.端口探测
5.利用支持的协议执行系统命令
**5.**防护
1.禁用外部实体
2.过滤和验证用户提交的XML数据
网络安全工程师(白帽子)企业级学习路线
第一阶段:安全基础(入门)

第二阶段:Web渗透(初级网安工程师)

第三阶段:进阶部分(中级网络安全工程师)

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
学习资源分享
1618

被折叠的 条评论
为什么被折叠?



