靶场PHP函数与漏洞防御总结
靶场 PHP 函数整理与漏洞防御方式总结第一部分 靶场中用到的 PHP 函数一、一句话木马 / 代码执行相关函数 / 语句作用靶场中的用法eval($code)把字符串当作PHP 代码执行一句话木马核心?php eval($_POST[cmd]); ?assert($code)断言传入字符串时也会执行 PHP 代码一句话木马变体call_user_func($func, $arg)回调方式动态调用函数call_user_func(system, $_GET[cmd])常用于绕过对 system 关键字的过滤call_user_func_array()同上参数以数组形式传递回调绕过变体preg_replace()正则替换PHP5.5 时/e修饰符会执行替换结果中的代码历史代码执行点面试常考create_function()动态创建函数PHP7.2可注入代码历史代码执行点区别要点7.27 课堂重点eval执行的是 PHP 代码system执行的是操作系统命令。二、命令执行相关函数作用特点system($cmd)执行系统命令并直接输出结果页面直接显示命令结果如 whoami → www-dataexec($cmd, $output)执行命令结果放入数组只返回最后一行不自动输出需配合 echoshell_exec($cmd)执行命令返回完整输出字符串无回显时需echo shell_exec(...)passthru($cmd)执行命令并原样输出含二进制适合输出原始数据popen()/proc_open()以进程方式执行命令返回句柄进阶/绕过场景三、文件包含相关1. 四个包含函数函数文件找不到时重复包含include警告Warning继续执行允许include_once警告继续执行同一文件仅一次require致命错误程序终止允许require_once致命错误程序终止同一文件仅一次典型漏洞代码include $_GET[page];2. 相关 php.ini 配置项allow_url_include是否允许包含远程 URLRFI、php://input、data:// 的前提allow_url_fopen是否允许 URL 方式的文件操作open_basedir限制 PHP 可访问的目录范围第二部分 各类型漏洞的防御方式一、文件上传漏洞成因对上传文件的类型、后缀、内容校验不严或校验逻辑存在时序/逻辑缺陷导致可执行脚本落地服务器。缺陷类型典型绕过防御方式仅前端 JS 校验禁用 JS / Burp 改包服务端必须重新校验前端校验只做体验仅校验 Content-TypeBurp 改 MIMEMIME 可被伪造只能作为辅助不能作为唯一依据黑名单php3/php5/大小写/双写/末尾点/::$DATA改用白名单只允许 jpg/png/gif 等单次替换pphphp双写白名单或循环替换至无匹配路径参数可控save_path %00 截断过滤../、%00用basename()取纯文件名保存路径由服务端写死文件内容检测图片马 文件包含二次渲染GD 重编码上传目录与包含白名单隔离先保存后校验条件竞争先校验后保存使用临时随机名校验通过再改名原子化用户可控文件名save_name 大小写/末尾点/数组is_string()强制类型检查服务端统一重命名通用加固清单扩展名、MIME、文件内容图片二次渲染三重校验以白名单为准服务端随机重命名攻击者无法预测路径与文件名上传目录禁止脚本解析Apache/Nginx 配置关闭该目录 PHP 执行最好存放到 Web 根目录之外或独立域名/对象存储完整清理链且顺序正确trim → deldot → strtolower → 去::$DATA先清理再检查限制文件大小Web 服务低权限运行。二、文件包含漏洞成因include/require的参数来自用户输入且未严格限制导致包含预期外文件敏感文件、日志、Session、上传的图片马、远程恶意文件。首选白名单映射——用户只提交业务标识真实路径由服务端决定$pages[home__DIR__./pages/home.php,news__DIR__./pages/news.php];$key$_GET[page]??home;if(!isset($pages[$key])){http_response_code(404);exit(页面不存在);}include$pages[$key];必须传路径时做规范化校验realpath()解析../和符号链接后确认最终路径仍在允许目录内strpos($target, $base)0。配置加固生产环境关闭allow_url_include按需评估关闭allow_url_fopen配置open_basedir限制访问范围。切断组合利用链上传、日志、Session 目录不可被包含上传目录禁止 PHP 解析。最小权限 不泄露信息Web 进程低权限运行关闭display_errors错误页不泄露绝对路径。不用字符串替换黑名单过滤../、php://易被变形绕过。三、代码执行 / 命令执行漏洞成因用户可控数据进入eval、system、exec、shell_exec、passthru、call_user_func等函数。删除危险用法生产代码不使用eval()执行用户输入不把用户输入传给命令执行函数。白名单替代动态调用用固定业务逻辑/白名单映射不让用户提供函数名或代码$actions[show_userfunction(){/* 固定业务代码 */}];if(isset($actions[$action])){echo$actions[$action]();}必须执行系统命令时参数用escapeshellarg()/escapeshellcmd()转义命令白名单化。纵深防御Web 服务低权限账户运行结合容器、SELinux/AppArmor 限制影响范围在php.ini中用disable_functions禁用system,exec,shell_exec,passthru,eval等高危函数。四、CSRF 跨站请求伪造成因服务端只验证 Cookie 中的登录状态不验证请求是否由用户本人主动发起攻击者诱导已登录用户访问恶意页面以其身份执行非预期操作。CSRF Token表单/请求中嵌入服务端生成的随机 Token提交时校验攻击者无法预知 Token——最有效校验 Referer / Origin确认请求来源是本站点SameSite Cookie设置SameSiteStrict/Lax阻止跨站携带 Cookie二次验证敏感操作改密、转账要求重新输入密码、短信/图形验证码关键操作使用 POST 而非 GET并配合自定义请求头如X-Requested-With。五、越权攻击成因服务端只判断是否登录不判断该用户是否有权操作这条数据/这个功能。类型说明防御水平越权同等级用户间越权访问数据改 id 看他人信息服务端对每个请求校验数据归属操作对象必须与当前会话用户绑定不使用可猜测的连续 ID用随机/加密 ID垂直越权普通用户执行管理员功能基于角色的访问控制RBAC服务端对每个接口做权限等级校验管理接口不对普通用户开放前端隐藏按钮不算防御核心原则所有权限判断必须在服务端完成前端隐藏、参数信任都不可靠。

相关新闻

英雄联盟Akari助手:免费开源的智能游戏伴侣,全面提升你的对战效率

英雄联盟Akari助手:免费开源的智能游戏伴侣,全面提升你的对战效率

英雄联盟Akari助手:免费开源的智能游戏伴侣,全面提升你的对战效率 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在…

2026/8/1 12:48:32 阅读更多 →
技术演示设计:从用户理解到价值传递的实践指南

技术演示设计:从用户理解到价值传递的实践指南

在技术领域,我们常常陷入一个误区:认为只要功能强大、性能优越,产品就一定能获得用户青睐。但现实是,很多技术实力雄厚的项目最终却无人问津。问题的核心往往不在于技术本身,而在于我们是否真正理解用户的需求和体验。…

2026/8/1 12:48:32 阅读更多 →
B站缓存视频合并终极指南:简单三步完成离线播放

B站缓存视频合并终极指南:简单三步完成离线播放

B站缓存视频合并终极指南:简单三步完成离线播放 【免费下载链接】BilibiliCacheVideoMerge 🔥🔥Android上将bilibili缓存视频合并导出为mp4,支持安卓5.0 ~ 13,视频挂载弹幕播放(Android consolidates and exports the …

2026/8/1 12:48:32 阅读更多 →

最新新闻

Box64高性能架构实现:深度解析跨平台x86_64模拟器技术原理与优化方案

Box64高性能架构实现:深度解析跨平台x86_64模拟器技术原理与优化方案

Box64高性能架构实现:深度解析跨平台x86_64模拟器技术原理与优化方案 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_mirrors/bo/box64 …

2026/8/1 13:30:45 阅读更多 →
单级共射放大电路:从理论计算到实操调试的完整指南

单级共射放大电路:从理论计算到实操调试的完整指南

1. 项目概述:从“搭积木”到“调声音”的放大器初体验 刚接触模拟电路的同学,拿到“单级共射放大电路”这个实验任务,第一反应往往是:照着电路图把元件焊上,通电,测几个数据,报告一交&#xff0…

2026/8/1 13:30:45 阅读更多 →
SolidWorks二次开发:C#获取装配体边界尺寸全攻略

SolidWorks二次开发:C#获取装配体边界尺寸全攻略

1. 项目背景与需求解析 在机械设计领域,SolidWorks作为主流的三维CAD软件,其二次开发功能一直备受工程师关注。最近我在完成一个自动化报表系统时,遇到了一个典型需求:如何通过C#代码获取当前装配体的精确边界尺寸。这个功能在生成…

2026/8/1 13:30:45 阅读更多 →
MindPaw 技术解析(六):WiFi 网页遥控模块 —— ESP8266 嵌入式 Web 服务器的工程实践

MindPaw 技术解析(六):WiFi 网页遥控模块 —— ESP8266 嵌入式 Web 服务器的工程实践

项目 GitHub:https://github.com/ace-trump-tech/MindPaw 在桌面机器人的交互方式中,网页遥控是最“轻量”却最实用的方案——无需安装任何 App,无需配对专用遥控器,任何一台有浏览器的设备(手机、平板、电脑&#xff…

2026/8/1 13:30:45 阅读更多 →
LeagueAkari终极指南:如何用英雄联盟工具包提升你的游戏体验

LeagueAkari终极指南:如何用英雄联盟工具包提升你的游戏体验

LeagueAkari终极指南:如何用英雄联盟工具包提升你的游戏体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit LeagueAkari是一款基于…

2026/8/1 13:30:45 阅读更多 →
终极猫抓浏览器插件:一站式解决你的视频下载烦恼

终极猫抓浏览器插件:一站式解决你的视频下载烦恼

终极猫抓浏览器插件:一站式解决你的视频下载烦恼 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页视频无法保存而苦恼吗&…

2026/8/1 13:29:45 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/8/1 13:02:46 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →