前几天又在Vulnhub上装了一个靶机,名为XXE。感觉还挺新奇,因为以前没有接触到这种类型的靶机,正好学习一下。
一,运行说明
* 靶机难度:中级
* 目 标:获取flag
* 运行环境:攻击机kali linux&Windows7
靶机XXE(下载链接:https://download.vulnhub.com/xxe/XXE.zip)
均运行于Vmware中
* 网络设置:均为Nat模式
二、渗透实战
1、端口扫描&目录爆破
首先还是先确定靶机IP地址,在kali里用nmap扫描一下。
发现靶机地址192.168.50.148,接下来用命令nmap -sV -p- 192.168.50.148更详细的扫描一下
靶机开放了80和5355两个端口,先用浏览器访问一下IP地址
是一个Ubuntu的默认页面,没有什么有价值的信息。按照老套路这时候是要爆破目录一波的~~
只得到了能访问的两个页面,看看robots.txt里有包含的目录
XXE和admin.php,单看名字好像还是挺有用的,打开看一下
又是登陆页面,还是老套路,爆破留到最后,因为这种靶机的用户名和密码一般都很复杂,爆破不可取。
接下来看看admin.php页面。
还是登录页面。。。查看了源代码也没啥收获,这就有点麻烦了。忽然想起靶机名字是XXE,突破点会不会在这里呢?试一试。
回到xxe页面,随便输入一个用户名和密码,使用burp suite抓包并在repeater中查看响应信息。
靶机回显正常,看来这里可以利用一下。
2、利用XXE漏洞获取flag
首先进行文件读取,在burp抓取的POST请求包中输入
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "file:///etc/passwd">
]>
<root><name>&admin;</name><password>1</password></root>
查看响应信息
接下来看看admin.php里面的内容。
返回包是base64加密的,复制下来拿去解密,发现经过md5加密的password。再次解密得到密码是admin@123
拿去登陆admin.php,页面显示如下:
点击红色flag,发现是一张空白页面,查看源代码得到flag提示信息
先进行base32解密,再进行base64解密。
回到burp中,再次使用repeater读取文件
又是一大串Base64,再去解密
这。。。。看起来像php?复制下来保存到本地,命名为1.php,放到xampp中访问一波(xampp的使用就不讲了,网上有教程,我这里是以前就装好的)
Bingo!
三,总结
其实这个靶机已经做完挺长时间了,整体思路方面感觉并不是很难。不过学习了XXE漏洞,相关的漏洞总结文章正在准备中。。。。
关注我们
Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号: