XXE靶机实战-vuluhub系列(三)

这是vulnhub靶机系列文章的第三篇,具体下载连接去vulnhub或者百度、谷歌搜搜就好...开始进入主题

首先xxe是xml外部实体注入漏洞,可通过进入外部实体进行攻击,例如读取敏感文件,扫描端口等等,实战中感觉出现几率不是很大,唯一一次遇到是某司面试题,当时团队小伙伴遇到了,运气爆棚的我找到了xxe漏洞,顺道内部交流了下hahaha,不扯淡了,开始吧...

 

#001 寻找靶机ip

打开kali,用netdiscover -i eth0,扫描一下eth0网卡中存活的ip,发现靶机ip

XXE靶机实战-vuluhub系列(三)_第1张图片

 

#002 靶机渗透

然后用nmap扫描一下端口情况,开启了80端口,访问一波只是默认页面,没啥用处

XXE靶机实战-vuluhub系列(三)_第2张图片

 

  Nmap扫出了有robots.txtxxeadmin.php的目录,尝试访问一波robots.txt,发现一下目录,尝试过访问admin.php访问不了,可能是权限问题。

XXE靶机实战-vuluhub系列(三)_第3张图片

 

访问一下xxe目录,发现是一个登录的页面,尝试简单的弱口令,都不成功

XXE靶机实战-vuluhub系列(三)_第4张图片

 

点击登录抓包分析一下,发现请求的是一段xml的内容,尝试构造xmlpayload

XXE靶机实战-vuluhub系列(三)_第5张图片

 

直接构造外部实体注入的payload,读取/etc/password/目录下的内容,发现能能读出来,证明肯定存在xxe漏洞

XXE靶机实战-vuluhub系列(三)_第6张图片

 

我们再尝试利用php的伪协议filter去读取xxe.php的源码,base64解码之后,并没有发现什么可利用的信息,我们利用这个思路去读取admin.php的源码

XXE靶机实战-vuluhub系列(三)_第7张图片

 

利用filter协议读取admin.php的源码,发现还是一段base64加密的内容

XXE靶机实战-vuluhub系列(三)_第8张图片

 

Base64解码发现是一个php写的登陆页面,并且发现了usernamepassword的信息

XXE靶机实战-vuluhub系列(三)_第9张图片

 

passowrd的内容md5解密一下,得到password的明文为admin@123尝试登陆一下xxe的登陆页面,但是失败了

XXE靶机实战-vuluhub系列(三)_第10张图片

 

刚才用nmap扫的时候扫到了xxe目录下还有一个admin.php,尝试访问一下,并用刚才得到的usernamepassowrd登陆上去,发现了Flag的地址

XXE靶机实战-vuluhub系列(三)_第11张图片

 

点击Flag的链接,但是发现访问不了,但是刚才的思路,我们是可以读取它的源码的

XXE靶机实战-vuluhub系列(三)_第12张图片

 

直接读取flag文件的源码,去base64解密后,发现文件源码明文内容

XXE靶机实战-vuluhub系列(三)_第13张图片

 

 

源码:

 

 

 

 

 

源码里发现还有一段加密的内容,看着像base64加密,但是解不出来,然后又尝试base32解密一下,发现解密出来的内容是一层base64编码,解码为 /etc/.flag.php

XXE靶机实战-vuluhub系列(三)_第14张图片

 

继续利用伪协议读取/etc/.flag.php文件的内容,又是base64编码,去解码

XXE靶机实战-vuluhub系列(三)_第15张图片

 

解码出来的内容是一堆完全不认识的字符

XXE靶机实战-vuluhub系列(三)_第16张图片

 

想了想,文件名好像是php的文件,这会不会是变形的php代码?本地用phpstudy搭建了环境,创建xxe.php的文件,将代码复制进去

XXE靶机实战-vuluhub系列(三)_第17张图片

 

 然后访问127.0.0.1/xxe.php,发现一堆报错信息,但是在最后一行发现了flag,这里就成功拿到flag,打完收工

 

 

你可能感兴趣的:(XXE靶机实战-vuluhub系列(三))