关于assert()函数,eval()函数,include

一.assert()函数

例子

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");assert("file_exists('$file')") or die("That file doesn't exist!");

第一个是会检验$file是否有.. ,如果有strpos会返回true,true和false不相等会返回false,最后会终止程序返回Detected hacking attempt!

assert()函数是 PHP 中的一个调试函数,用于在代码中设置断言检查。

assert中的参数要是字符串很可能会被当做php代码进行执行

二.eval()函数

eval()函数在php中会将参数中的字符串当作php代码执行。

但是开发中很少使用,他的用法很多都会被其他替代,常见的用法是我们去上传具有该函数的文件,进而去渗透。像我们在面对ssti漏洞(模板注入漏洞)中会去找子类的eval,但是这边的是python的,而不是php的,但是python中的可以仅限单个表达式,所以还要配合其他函数进行,而php中的可以任意执行。

三.include()函数

内容:include 是 PHP 中用于包含并运行指定文件的重要函数,它在动态网页开发中非常常用,但也存在一些安全风险需要注意。

include()的参数一般都是:文件名或者文件路径(url),常常利用协议去进行渗透

关系对比:

函数构造命令执行代码执行PHP 5.xPHP 7.2+
assert(system()')双重执行仅执行命令
eval('system()')执行命令仅表达评估
特性eval($_REQUEST['cmd'])include()
执行方式直接执行字符串中的PHP代码包含并执行指定文件内容
输入要求需要输入完整PHP代码需要文件路径或可解析的URI
利用复杂度高(需构造有效PHP语法)中(需控制文件路径或利用协议)
隐蔽性高(无文件落地)低(需存在可访问的恶意文件)
PHP版本影响全版本有效allow_url_include配置影响
特性eval($_GET['cmd'])assert($_GET['cmd'])
执行机制直接执行字符串中的PHP代码在传统模式下会执行字符串代码
PHP 5.x行为执行代码执行代码
PHP 7.0-7.1行为执行代码默认执行代码(传统模式)
PHP 7.2+行为执行代码默认不执行代码(表达式模式)
返回值返回执行结果返回布尔值(断言是否成功)
设计用途动态代码执行调试断言
危险等级🔴 极高风险PHP <7.2: 🔴 极高风险
PHP ≥7.2: 🟡 中风险

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94141.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ICT模拟零件测试方法--电位器测试

ICT模拟零件测试方法–电位器测试 文章目录ICT模拟零件测试方法--电位器测试电位器测试电位器测试配置电位器测试配置电位器测试注意事项电位器测量选项电位器测试 电位器测试测量从 0.1 欧姆到 10M 欧姆的电阻。 本节介绍&#xff1a; 电位器测试配置电位器测试注意事项电位…

wsl2使用宿主机网络方法

在Windows的资源管理器的地址栏输入&#xff1a; %UserProfile% &#xff0c;即可打开当前用户的主目录&#xff0c;创建文件&#xff1a; .wslconfig 输入[experimental]networkingModemirroredautoProxytrue之后重启WSL 管理员身份运行PowerShell&#xff1a; 停止WSL&#x…

当Windows远程桌面出现“身份验证错误。要求的函数不受支持”的问题

当Windows远程桌面出现“身份验证错误。要求的函数不受支持”的问题时&#xff0c;可以参考以下方法解决&#xff1a;修改组策略设置适用于Windows专业版、企业版等有组策略编辑器的系统。1. 按下WinR组合键&#xff0c;输入“gpedit.msc”&#xff0c;打开本地组策略编辑器。2…

零售新范式:开源AI大模型、AI智能名片与S2B2C商城小程序源码驱动下的圈层渗透革命

摘要&#xff1a;在消费圈层化与渠道碎片化的双重冲击下&#xff0c;传统零售渠道的"广撒网"模式逐渐失效。阿里巴巴零售通、京东新通路、国美Plus等零售巨头通过技术赋能重构小店生态&#xff0c;但其本质仍停留于供应链效率提升层面。本文创新性提出"开源AI大…

电池自动生产线:科技赋能下的高效制造新范式

在当今科技飞速发展的时代&#xff0c;电池作为众多电子设备和新能源产业的核心部件&#xff0c;其生产效率与质量至关重要。电池自动生产线的出现&#xff0c;犹如一场及时雨&#xff0c;为电池制造行业带来了全新的变革与发展机遇。自动化流程&#xff0c;开启高效生产之门传…

CS224n:Word Vectors and Word Senses(二)

目录 一、共现矩阵 1.1 基于共现矩阵的词向量 二、SVD分解 2.1 基于共现矩阵的词向量 vs. Word2Vec词向量 三、GloVe词向量 3.1 GloVe词向量的好处 3.2 GloVe的一些结果展示 部分笔记来源参考 Beyond Tokens - 知乎 (zhihu.com) NLP教程(1) - 词向量、SVD分解与Word2V…

I Built an Offline-Capable App by Myself: React Native Frontend, C# Backend

This isn’t a story about gluing together a few UI components. It’s about how I, as a solo developer, built a complete mobile application that works offline, syncs data automatically when online, and shares a unified backend with a web-based admin panel. …

在Idea中,配置maven

✨ 哈喽&#xff0c;屏幕前的每一位开发者朋友&#xff0c;你们好呀&#xff01;✨​ 当你点开这篇文章时&#xff0c;或许正对着 IDE 里闪烁的光标发呆&#xff0c;或许刚解决一个卡了三天的 bug&#xff0c;正端着咖啡松口气 —— 不管此刻的你在经历什么&#xff0c;都想先和…

mac 字体遍历demo

文章目录逻辑字体类头文件实现文件使用文件主程序CMakeLists文件脚本文件逻辑字体类 #ifndef LOGICAL_FONT_H #define LOGICAL_FONT_H#include <string> #include <memory> #include <CoreText/CoreText.h> #include <CoreFoundation/CoreFoundation.h&g…

2025牛客多校第六场 D.漂亮矩阵 K.最大gcd C.栈 L.最小括号串 个人题解

L.最小括号串 #数组操作 #贪心 题目 思路 感谢Leratiomyces大佬赛时的提示&#xff0c;否则估计还一直签不了到&#xff08;&#xff09; 首先&#xff0c;贪心地构造出最优情况&#xff1a;数组左半部分全是(&#xff0c;右半部分全是)&#xff0c;随后通过判断给定的区间…

Ubuntu搭建PX4无人机仿真环境(5) —— 仿真环境搭建(以Ubuntu 22.04,ROS2 Humble 为例)

目录前言1. 准备下载源码方式一&#xff1a;方式二&#xff1a;安装依赖安装 Gazebo2. 安装 Micro XRCE-DDS Agent3. 编译4. 通信5. offboard 测试参考前言 本教程基于 ROS2 &#xff0c;在搭建之前&#xff0c;需要把 ROS2、QGC 等基础环境安装配置完成。但是这块的资料相比较…

自动驾驶中的传感器技术11——Camera(2)

1、自驾Camera关键技术点汇总 ADAS Camera 关键技术点摘选&#xff08;IEEE-P2020工作组&#xff09;如下&#xff1a; Ref &#xff1a; 5. IEEE 相关标准 - 图像质量与色彩技术知识库 https://www.image-engineering.de/content/library/white_paper/P2020_white_paper.pd…

福彩双色球第2025088期篮球号码分析

蔡楚门福彩双色球第2025088期篮球号码分析&#xff0c;上期开出篮球号码数字08&#xff0c;数字形式是合数偶数2路球数字&#xff0c;小号区域&#xff0c;0字头数字。本期篮球号码分析&#xff0c;4尾数0414遗漏9期上次遗漏11期&#xff0c;2尾数0212遗漏4期上次遗漏27期&…

【兆易创新】单片机GD32F103C8T6系列入门资料

GD32F103xx 系列器件是一款基于ARM Cortex-M3 RISC内核的32位通用微控制器&#xff0c;在处理能力、降低功耗和外设方面具有超优的性价比。Cortex-M3是下一代处理器核心&#xff0c;它与嵌套矢量中断控制器(NVIC)&#xff0c; SysTick计时器和高级调试支持紧密耦合。 GD32F103…

高效轻量的C++ HTTP服务:cpp-httplib使用指南

文章目录httplib介绍与安装使用案例httplib介绍与安装 C HTTP 库&#xff08;cpp-httplib&#xff09;是一个轻量级的 C HTTP 客户端/服务器库&#xff0c;它提供了简单的 API 来创建 HTTP 服务器和客户端&#xff0c;支持同步和异步操作。以下是一些关于cpp-httplib 的主要特…

24 SAP CPI 调用SAP HTTP接口

SAP CPI 访问SAP接口一般用RFC或者HTTP,个人在项目中两种方法都用过,最后还是倾向于HTTP的方式,此方式易于维护,统一管理,接口搭建比较方便。 读者朋友可网上自行搜索"SAP 发布HTTP接口",SAP CPI调用SAP发布的HTTP接口。 配置CPI接口前,需要将CPI的证书导入…

C/C++常用字符串函数

一、字符串函数介绍&#xff1a; 字符串作为程序中常用的数据类型&#xff0c;学会对字符串进行处理是作为一名C/C程序员的基本功&#xff0c;我们要学会使用相关函数&#xff0c;并且对重点函数要会自己手动实现&#xff08;下文对重点函数有实现代码以及相关示例&#xff09…

YOLO的Python实现以及 OpenCV

YOLO的Python实现以及 OpenCV Darknet 实现 YOLO 从头开始开发 YOLO模型不容易&#xff0c;所以我们要使用预训练模型在项目里进行目 标检测。你可以在 https://pjreddie.com里到所有可用的预训练模型。这是 Joseph C. Redmon的主页&#xff0c;他是 Darknet的维护者。 注意 …

译|Netflix 数据平台运营中基于机器学习自动修复系统

来自上传文件中的文章《Evolving from Rule-based Classifier: Machine Learning Powered Auto Remediation in Netflix Data Platform》 本文介绍了Netflix如何将基于规则的错误分类器与机器学习服务集成&#xff0c;实现Spark作业失败的自动修复。技术亮点包括结合规则和ML智…

PAES算法求解 ZDT1 双目标优化问题

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…