XXE-lab 靶场
靶场网址:http://172.16.0.87/
第一步我们看到网站有登录框我们试着用 bp 去抓一下包


将抓到的包发到重放器中
然后我们构建palody
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=C:/flag/flag">
]>
<foo>&xxe;</foo>

我们看到右边的 msg 中出现了一串编码,我们使用 base64 编码解码

我们得到 flag 为flag{dmsioamdoiasdmdmwmdsmd }。
XXE 靶机
靶机:xxe ip:192.168.152.150
第一步
我们使用御剑的后台扫描工具来查看他网站的后台

我们双击打开后缀为 .txt 的文件

我们可以看到有两个目录/xxe/*,/admin.php
我们挨个访问一下

/admin.php 无法访问
第二步
我们看到 xxe 目录下有登录框,输入账号密码后我们使用 bp 抓包

可以看到是使用xml语言编写的
发送到重放器,然后我们修改 name 中的信息查看页面回显

发现有变化,这时我们构建 palody,使用 php 协议访问admin.php

我们到网页中解码

我们查看解码信息

可以知道账号为 administhebest
我们去破解一下密码

得到密码为 admin@123,我们去登陆一下

显示输入了正确的密码这里是 flag,我们点击一下

发现了另一个 php 文件
我们继续使用 php 协议读取一下

继续解码

解码后发现我们还需要使用 base32 再次解码

我们继续使用 bases64 再次解码

我们得到了一个/etc/.flag.php,我们读取一下

得到了一堆乱码我们创建一个 php 文件,将乱码复制进去访问一下

访问后得到了 flag 为 SAFCSP{xxe_is_so_easy} 。