XXE靶机 通关攻略

1、基础设置

先把靶机和kali设置成net模式,确保在同一网段

2、扫描IP

用kali扫一下IP,查看靶机的IP

arp-scan -l

扫到IP是192.168.19.154

3、扫描靶机

找到靶机IP后,扫一下这个IP

dirb http://192.168.19.154

扫到了两个文件和一个目录,依次去查看一下

(1)第一个文件是一个html文件,给我们显示了,一个默认页面,接下来查看第二个文件

(2)第二个文件给我们显示了一个目录和一个php文件,待定,再看一下第三个目录

(3)第三个目录是被禁止访问的,那对于我们来说有用的就是刚刚kali扫出来的第二个文件了

4、查看文件

根据kali扫出来的第二个文件,我们依次在浏览器去查看一下第二个文件里面的东西

(1)第一个是一个xxe目录

找到一个登录页面,待定,再去查看一下第二个php文件

(2)第二个文件暂时没有显示,但是它的文件名是admin,在后面可能有用,但是现在我们攻击的点只能在这个登录页面上

5、访问文件

先随便输入一点东西,看一下页面的反应

通过上图我们可以看到,name上的1被显示到了页面上,说明这里是注入点,下面我们去抓包

6、漏洞利用

(1)观察数据包

抓到了登录页面的包,简单分析一下这个包的格式,我们可以清楚的看到下面的格式是xml漏洞格式,所以我们将在这里进行漏洞利用

(2)构造xml

首先我们需要把数据包发送到重放器模块,这样方便观察

其次,构造xml,刚刚我们有个admin.php文件没访问到东西,现在我们指定admin目录去看一下,应该可以发现什么

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root[<!ELEMENT r ANY><!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">]>
<root><name>&test;</name><password>1</password></root>

7、寻找答案

(1)解码

上面找到了一串base64编码,我们去解码一下

找到了用户名和一串用md5加密的密码,我们再去解码,得到了密码

(2)登录

用找到的用户名和密码登录一下

登录居然失败了,我们再去扫描一下xxe目录里看看有什么,因为刚刚扫出来的xxe目录后面还有东西

在这里也发现一个admin.php,我们去访问一下

看到也有登录框,我们把刚刚的用户名密码输入进去

提示我们flag在这里,点进去看一下

刚刚告诉我们flag在这里,但是进来之后却给我们报404错误,那肯定是在这里的,只要我们细心观察就可以看到一个新的文件,我们去查看一下

页面是空白的,我们查看一下源代码

提示我们flag在这串编码里,我们去解码,先尝试一下md5解码

无法识别的话,因为这是32位编码,那我们尝试用base32编码解码的方式去解码

成功解码,解码完成之后发现又是一个base64编码,我们再去解码

解码成功,提示我们flag在根目录下的etc下的flag.php文件里,我们去访问

访问不到,访问不到的话我们去bp里读取一下

我们发现又是一串编码,那我们再去解码

解出来的东西我们不认识,但是我们知道他是php代码,所以我们自己新建一个php文件,把代码写进去,然后访问自己的php文件看一下(记得要写到网站的根目录下)

写入1.php然后查看

8、成功

### Pikachu 靶场 XXE 漏洞利用解题思路 #### 背景介绍 XML外部实体注入(XXE)是一种针对应用程序解析 XML 输入时的安全漏洞。当应用程序处理不受信任的数据作为 XML 并允许引用外部实体时,可能会发生此漏洞。 #### 解题思路 为了成功利用 Pikatchu 靶场中的 XXE 漏洞,可以按照以下逻辑进行操作: 1. **理解目标环境** 应用程序接受来自用户的 XML 数据并将其用于某些内部功能。如果该应用未正确配置其 XML 处理器,则可能受到 XXE 的影响[^1]。 2. **构建恶意负载** 构建一个能够读取服务器上任意文件或执行其他有害行为的有效载荷。对于简单的 XXE 利用来说,通常会尝试访问 `/etc/passwd` 文件来验证是否存在漏洞。 3. **发送请求** 使用工具如 `curl` 或浏览器开发者控制台向存在潜在 XXE 漏洞的服务端点提交特制的 XML 请求。例如,在本案例中可能是某个上传接口或其他接收 XML 参数的功能页面[^2]。 4. **分析响应** 如果服务端返回了预期的结果(比如显示了 `/etc/passwd` 的内容),则说明成功触发了 XXE 漏洞;此时可以根据具体需求进一步探索如何扩大战果,如获取敏感信息、命令执行等。 5. **深入挖掘** 对于更复杂的场景,还可以考虑结合盲注技术或者其他类型的 Web 安全问题来进行联合攻击,从而实现更加隐蔽和强大的效果。 ```xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> <foo>&xxe;</foo> ``` 上述代码片段展示了基本的 XXE 攻击 payload 结构,其中定义了一个名为 `xxe` 的外部实体,并指向本地系统的密码文件路径。这只是一个示例,请勿非法使用此类技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值