当前位置: 首页 > news >正文

20、WEB攻防——PHP特性缺陷对比函数CTF考点CMS审计实例

文章目录

  • 一、PHP常用过滤函数:
    • 1.1 `==`与`===`
    • 1.2 md5
    • 1.3 intval
    • 1.4 strpos
    • 1.5 in_array
    • 1.6 preg_match
    • 1.7 str_replace
  • CTFshow演示
  • 三、参考资料

在这里插入图片描述

一、PHP常用过滤函数:

1.1 =====

==:弱类型对比(不考虑数据类型),甚至可以理解为只要右边变量的前几个字符或数字等于左边的变量,==就成立,且不受符号影响。===:强类型对比(考虑数据类型),也就是说左右两边的值要完全一样才会满足===
在这里插入图片描述

1.2 md5

  • 使用md5()==进行变量比较
    md5 0e漏洞:就是说在使用md5()==进行变量比较的时候,只要左右两边的字符串经过md5()加密后,都是以0e开头的字符串,那么左右两边将会相等。
    在这里插入图片描述

    php甚至会有oe漏洞,只有两边的变量(整型)以oe开头,php也会判断左右两边相等。
    在这里插入图片描述
    在这里插入图片描述

  • 当使用md5()===进行变量对比的时候, 使用数组可以绕过md5()函数的检测。
    在这里插入图片描述

1.3 intval

函数作用:将变量的值默认转化为十进制。intval
应用地方:比如sql注入时,通常使用and 1=1来判断注入类型是数字型还是字符型,后端使用intval()函数将会使and 1=1失效。
在这里插入图片描述
缺陷:可以使用==的特性,如+16、16.0;或者进制转换后,左右变量也相等。intval绕过 在这里插入图片描述 在这里插入图片描述

1.4 strpos

函数语法:第一个参数为要搜索的字符串,第二个参数为要查找的子串,第三个参数为从哪儿开始查找。

%oa(换行)会屏蔽要搜索的子串。

在这里插入图片描述
在这里插入图片描述

过滤字符串起始不能为0
在这里插入图片描述
在这里插入图片描述

1.5 in_array

语法:
在这里插入图片描述

不设置strict参数,就相当于==进行判断。

在这里插入图片描述

在这里插入图片描述

1.6 preg_match

漏洞:preg_match只能处理字符串,如果不按规定传一个字符串,通常传一个数组进入,就会使preg_match失效,从而绕过该函数的检测。
在这里插入图片描述

1.7 str_replace

作用:替换字符串中的一些字符(区分大小写)。
在这里插入图片描述
漏洞:无法迭代过滤,只过滤一次
在这里插入图片描述

CTFshow演示

intval函数是取整,同时第二个参数为0表示通过检测第一个参数的格式来决定使用的进制。这里我们要做的是不输入4476,但是要拿到flag。可直接在4476后面加小数或者使用进制转换
在这里插入图片描述
在这里插入图片描述

三、参考资料

红日安全php项目

相关文章:

20、WEB攻防——PHP特性缺陷对比函数CTF考点CMS审计实例

文章目录 一、PHP常用过滤函数:1.1 与1.2 md51.3 intval1.4 strpos1.5 in_array1.6 preg_match1.7 str_replace CTFshow演示三、参考资料 一、PHP常用过滤函数: 1.1 与 :弱类型对比(不考虑数据类型),甚至…...

互换数组的两个轴 numpy.swapaxes()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 互换数组的两个轴 numpy.swapaxes() 选择题 请问下列程序运行的的结果是: import numpy as np arr1 np.array([[11,12],[21,22]]).reshape((2,2)) print("【显示】arr1:\n…...

金蝶云星空修改业务对象标识

文章目录 金蝶云星空修改业务对象标识说明解决方案具体操作实操 金蝶云星空修改业务对象标识 说明 一个业务对象的产生,涉及10个表起。 解决方案 还是手工删除重新创建保险。 具体操作 先备份需要删除的元数据,或者扩展,然后重新创建或…...

【PHP入门】2.1-运算符

-运算符- 运算符:operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。 2.1.1赋值运算符 赋值运算:符号是“”,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果&#…...

【Hive】——DML

1 Load(加载数据) 1.1 概述 1.2 语法 LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1val1, partcol2val2 ...)]LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename [PARTITION (partcol…...

【Spring教程31】SSM框架整合实战:从零开始学习SSM整合配置,如何编写Mybatis SpringMVC JDBC Spring配置类

目录 1 流程分析2 整合配置2.1 步骤1:创建Maven的web项目2.2 步骤2:添加依赖2.3 步骤3:创建项目包结构2.4 步骤4:创建SpringConfig配置类2.5 步骤5:创建JdbcConfig配置类2.6 步骤6:创建MybatisConfig配置类2.7 步骤7:创建jdbc.properties2.8 步骤8:创建SpringMVC配置…...

Tailwind CSS 入门

什么是 Tailwind CSS? Tailwind CSS 是一个 CSS 框架,它提供了大量的预定义实用类,可以用来快速构建 HTML 页面。Tailwind CSS 的优势包括: 可扩展性:Tailwind CSS 的类库是可扩展的,可以根据自己的需要进行定制。性能:Tailwind CSS 的类库是经过精心设计的,可以提高页…...

如何在简历中解释就业空白

您的工作经历有空缺吗?你不是一个人。有很多合理的理由可以解释为什么你需要休息一下。更重要的是,在一份真实正确的简历中,这些问题是无法避免的。直接解释就业差距总是更好,而且有很多因素需要考虑。你未来的老板想要了解工作轨…...

【计算机网络】TCP协议——2.连接管理(三次握手,四次挥手)

目录 前言 一. 建立连接——三次握手 1. 三次握手过程描述 2. TCP连接建立相关问题 二. 释放连接——四次挥手 1. 四次挥手过程描述 2. TCP连接释放相关问题 三. TCP状态转换 结束语 前言 TCP——传输控制协议(Transmission Control Protocol)。是一种面向连接的传…...

螺丝厂家:如何根据您的需求找到合适您的紧固件

螺丝是通用工具。它们几乎用于所有场景,并且它们的使用不限于任何一个行业。人们可以找到几乎所有周围都使用的螺钉和螺栓。在为工作选择合适的螺丝方面,人们应该记住一些事情。选择标准归结为紧固件的物理特性,包括制造它所用的原材料、施加…...

企业数字化转型进入深海区:生成式AI时代下如何制定数据战略

随着科技的不断进步,企业数字化转型已经不再是简单的概念,而是正在进入一个全新的深海区。在这个深海区,数据变得至关重要,而生成式人工智能(AI)的兴起更是推动了数字化转型的飞速发展。本文将探讨在这个生…...

html行内元素和块级元素的区别?

HTML中的元素可以分为两种类型:行内元素(inline)和块级元素(block) 文章目录 什么是行内元素什么是块级元素元素转换行内元素转块级元素块级元素转行内元素 区别总结 什么是行内元素 HTML的行内元素(inli…...

ResNet 原论文及原作者讲解

ResNet 论文摘要1. 引入2. 相关工作残差表示快捷连接 3. 深度残差学习3.1. 残差学习3.2. 快捷恒等映射3.3. 网络体系结构普通网络 plain network残差网络 residual network 3.4. 实施 4. 实验4.1. ImageNet分类普通的网络 plain network残差网络 residual network恒等vs.快捷连…...

liteflow规则引擎 执行Groovy脚本

在LiteFlow规则引擎中执行Groovy脚本的步骤相对简单。首先,确保你的项目中包含了LiteFlow的相关依赖。接下来,创建一个Groovy脚本规则,并使用LiteFlow引擎执行它。 以下是一个简单的示例: 添加LiteFlow依赖:在你的项…...

GZ015 机器人系统集成应用技术样题5-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题5 选手须知: 本任务书共 24页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…...

Spark编程实验二:RDD编程初级实践

目录 一、目的与要求 二、实验内容 三、实验步骤 1、pyspark交互式编程 2、编写独立应用程序实现数据去重 3、编写独立应用程序实现求平均值问题 4、三个综合实例 四、结果分析与实验体会 一、目的与要求 1、熟悉Spark的RDD基本操作及键值对操作; 2、熟悉使…...

CleanMyMac X这一款mac电脑清理垃圾文件软件好用吗?

CleanMyMac X您的 Mac。极速如新。点按一下,即可优化调整整个 Mac畅享智能扫描 — 这款超级简单的工具用于优化您的 Mac。只需点按一下,即可运行所有任务,让您的 Mac 保持干净、快速并得到最佳防护。CleanMyMac 是一款功能强大的 Mac 清理程序…...

四通道 DMOS 全桥驱动MS35631N/MS35631

MS35631N/MS35631 是一款四通道 DMOS 全桥驱动器,可以驱动两 个步进电机或者四个直流电机。每个全桥的驱动电流在 24V 电源下可以 达到 1.2A 。 MS35631N/MS35631 集成了固定关断时间的 PWM 电流校正 器,以及一个 2bit 的非线性 DAC &…...

JWT令牌的作用和生成

JWT令牌(JSON Web Token)是一种用于身份验证和授权的安全令牌。它由三部分组成:头部、载荷和签名。 JWT令牌的作用如下: 身份验证:JWT令牌可以验证用户身份。当用户登录后,服务器会生成一个JWT令牌并返回…...

elementui el-pagination分页组件查询的时候当前页不更新

elementui el-pagination分页组件查询的时候当前页不更新 <mypagination v-if"pageshow" :currentPage.sync"pageNum" :pagesize"pageSize" :pagetotal"pageTotal" pagefunc"pageFunc"></mypagination>1.在加的…...

新手零基础入门:在快马平台用AI生成你的首个龙虾部署项目

新手零基础入门&#xff1a;在快马平台用AI生成你的首个龙虾部署项目 作为一个刚接触容器化开发的新手&#xff0c;第一次听说"龙虾部署"这个概念时&#xff0c;我完全摸不着头脑。后来才知道&#xff0c;这其实就是Docker容器化部署的一种形象说法。今天我想分享一…...

Phi-4-mini-reasoning应用场景:数学建模竞赛辅助推导与公式生成

Phi-4-mini-reasoning应用场景&#xff1a;数学建模竞赛辅助推导与公式生成 1. 模型概述与核心能力 Phi-4-mini-reasoning是一款由微软开发的轻量级开源模型&#xff0c;专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个3.8B参数的模型虽然体积小巧&#xff0c;但在数…...

StructBERT中文语义匹配实战:一键部署+可视化进度条,小白也能用

StructBERT中文语义匹配实战&#xff1a;一键部署可视化进度条&#xff0c;小白也能用 1. 工具概览&#xff1a;你的中文句子"CT扫描仪" 想象一下&#xff0c;你手上有两份用户反馈&#xff1a;"这个手机电池很耐用"和"这款设备续航能力超强"。…...

如何快速掌握ViGEmBus虚拟手柄驱动:新手5分钟完全指南

如何快速掌握ViGEmBus虚拟手柄驱动&#xff1a;新手5分钟完全指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否遇到过这样的困扰&#xff1a;心爱的…...

PyTorch 3.0静态图分布式训练实战指南:从模型切分、通信压缩到GPU显存零冗余,7步上线千卡集群

第一章&#xff1a;PyTorch 3.0静态图分布式训练的演进逻辑与企业级定位PyTorch 3.0并非官方已发布的版本号&#xff08;截至2024年&#xff0c;PyTorch最新稳定版为2.3&#xff09;&#xff0c;但该命名在此语境中特指工业界对“具备生产就绪型静态图能力与原生分布式协同范式…...

鸣鸣很忙上市后首份年报:营收662亿同比增长 经调整净利27亿

雷递网 雷建平 3月31日湖南鸣鸣很忙商业连锁股份有限公司&#xff08;简称&#xff1a;“鸣鸣很忙”&#xff0c;股份代号&#xff1a;1768&#xff09;今日发布截至2025年12月31日的财报。财报显示&#xff0c;鸣鸣很忙2025年营收为661.7亿元&#xff0c;较上年他同期的393.44…...

终极指南:如何用智能工具轻松突破内容访问限制

终极指南&#xff1a;如何用智能工具轻松突破内容访问限制 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 内容访问突破工具是现代数字工作者的必备利器&#xff0c;它能帮助研究人员…...

每日算法题 21---54.螺旋矩阵

题目54.螺旋矩阵要求给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。示例思路核心思路是用边界圈定遍历范围&#xff0c;按照固定方向循环遍历&#xff0c;每遍历完一条边就收缩对应边界&#xff0c;直到边界交叉终止&…...

别再只改默认密码了!Nacos 1.x/2.x 生产环境安全加固保姆级清单(附漏洞自查脚本)

Nacos生产环境安全加固全指南&#xff1a;从基础配置到漏洞防御 在微服务架构盛行的今天&#xff0c;Nacos作为服务发现和配置管理的核心组件&#xff0c;其安全性直接影响整个系统的稳定性。许多团队在部署Nacos时往往只满足于修改默认密码&#xff0c;却忽视了完整的安全防护…...

SpringBoot 3.2.0 项目里,如何优雅地引入 Flowable 7.1.0 工作流引擎?

SpringBoot 3.2.0 项目优雅集成 Flowable 7.1.0 工作流引擎实战指南 在微服务架构中引入工作流引擎&#xff0c;往往意味着需要在不破坏现有架构的前提下实现业务流程的自动化管理。本文将深入探讨如何在已具备MyBatis-Plus、Spring Cloud Alibaba等技术栈的SpringBoot 3.2.0项…...