IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> VulnHub DC-1 -> 正文阅读

[PHP知识库]VulnHub DC-1

前言

靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/
靶机:DC1 (VirtualBox)? ?? ? IP:192.168.10.110
攻击机:Kali (VMware)? ? ? ? IP:192.168.10.107
说明:DC1需要找到5个flag,最终目标是在root的主目录中找到并读取该flag

靶机配置及说明

首先先看靶机与攻击机的配置,二者均是桥接模式(建议靶机和kali都保存快照,以便不时之需)

kali配置:

?靶机配置:

开始

首先查看kali的ip得到192.168.10.107

?

nmap查看靶机ip得到192.168.10.110

?

?继续nmap嗅探靶机其余信息,发现开放22/80

?

?通过浏览器打开这个网站,用Firefox的插件看到CMS是Drupal 7

?继续查看robots.txt,看看有没有用的信息

?

我们并没有得到有用的信息,只是找到了几个没啥用的页面,继续扫描一下目录

扫描依旧也没有什么结果,那我们换个思路,可以搜索一下是否有可利用的漏洞并通过msf进行利用

在这里插入图片描述?输入msfconsole?

?

?

这里我就用Drupalgeddon2漏洞(CVE-2018-7600),Drupal系统没有对表单API接口的Ajax请求输入进行充分的检查,使得攻击者能够向内部表单结构中注入一个恶意的载荷,导致Drupal系统在未进行用户认证的情况下执行这个载荷。

通过利用这个漏洞,一个攻击者能够接管任何Drupal系统用户的整个站点。

这里我们只需要设置靶机的ip就可以执行

查看一下权限,发现是www-data

我们可以看到打开session连接到靶机,接下来我们继续反弹一个交互的shell

flag1

我们可以看到自己当前的权限以及所在路径,那我们ls查看一下其他文件

我们顺利拿到flag1,同时也拿到了提示信息:寻找配置信息百度即可知道默认配置信息位置。

flag2

一般网站目录里都有个数据库配置文件,里面包含着账号和密码。然后我们查看/www/sites.default/settings.php,发现了网站数据库账号密码(这里最好用more查看不至于落掉重要信息)

可以看到flag2也在这个文件中,并得到提示信息:暴力破解和字典爆破不是获取权限的唯一方式(而且你需要获得权限)

我们也顺利地拿到了数据库的一些关键信息(数据库名、登录名、密码),然后我们按q退出,顺着线索继续登录数据库。

flag3

mysql -h 127.0.0.1 -u dbuser -p

?

?发现其中有个user表,在user表中发现admin用户

通过查询 users报中的账号得知admin的密码是一串加密密文,下一步可以在网站目录里面找找有没有加密的脚本文件,通过重置管理员的密码来获取flag

然后在网站的根目录下发现有一个scripts的文件夹,script这个单词本身就是脚本。最终在这个目录里面发现一个名为password-hash.sh的脚本文件,使用加密脚本加密新密码666666,生成加密密文,然后登录系统查看flag3。

执行脚本对密码666666加密

./password-hash.sh 666666

报错,提示缺少文件。检查一下这个脚本文件。

cat password-hash.sh

看到这个我发现是文件引用出现了问题,引用的文件在网站根目录下的include文件夹中,但是我们执行脚本的目录是scripts,所以这个脚本就会把scripts当成根目录,所以我们应该到网站更目录执行这个脚本。

cd /var/www
./scripts/password-hash.sh 666666

得到666666的加密密文$S$Di/KeMGUUjEbhgEZIlGETXANuJDs.vM3a07EL6wKnmCTzUGExuNZ,接下来我们需要重置管理员的密码为666666的加密密文,还得进入数据库直接更新密码。

update drupaldb.users set pass='$S$Di/KeMGUUjEbhgEZIlGETXANuJDs.vM3a07EL6wKnmCTzUGExuNZ' where name='admin';

如上图所示说明更新成功,接下来登陆一下管理员账号,

登陆后点击左上角的Dashboard,然后点击中间的flag3。

然后得到flag3,并提示:用命令来获取密码。

flag4

先看看passwd文件,发现有一个flag4的用户

很明显flag4在/home/flag4目录下

顺利得到flag4,并得到提示:你能用相同的方法在root目录下找到最终flag吗?可能吧,但可能没那么容易。

flag5(最后一个flag)

根据提示能想到suid提权,将目前的www-data用户权限提到root权限,先查询一下具有root权限的其它命令:

find / -user root -perm -4000? 2>/dev/null

使用find来执行命令,可以发现find命令本身就是root权限

find flag4.txt -exec "whoami" \;

?

接着利用find提权

find flag4.txt -exec "/bin/sh" \;

?

?查看root目录下的flag文件,得到最后一个flag

?

相关知识点

1、msf的熟练使用以及搜索可利用漏洞(Drupal)
2、留意目标网站的配置文件(more慢慢查看别错过重要信息)
3、数据库管理员提权(更新管理员密码或者添加一个新用户)
4、suid提权的命令(nmap、vim、find、bash、more、less、nano、cp)

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:36:24  更:2021-09-07 10:38:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:56:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码