ctfshow 每日练习 web 区 php特性 1-10

前置知识

这个php特性可以很好的练习我们的白盒简单代码的审计能力

web89

preg_match 正则匹配函数 (绕过 : 换行符绕过 (也可以利用他的数组返回数字进行绕过一下禁止字符的情况))

include("flag.php"); 文件包含

isset($_GET'num')看一下 我们是否给 get传参数

下边这个是正则匹配 我们的 $num是不能有 数字的

最后是取整函数 intval($)

这个的绕过就是我们先进入第一个逻辑

?num=

再绕第二个逻辑 : 不能有数字 那就只能使用数组 ?num\[\]=1 数组绕第一个逻辑的同时 也绕过了第二个逻辑 intval遇见数组等于 1 会直接取

web90

考点: intval的绕过 : 这个也是考我们冲突逻辑 我们的输入 num 既不能等于 4476 还必须等于 4476 来获取flag

解决: 1、后缀字符 ?num=4476a

2、浮点数绕过 ?num=4476.1

当然还有个隐藏玩法就是 === 这个是不会 自动转字符 所以我们就是可以使用字符串 + 来伪装绕过第一次逻辑验证

正好intval 会把我们的拼接数字转为数字

web91

从第三行开始 :

把我们传入的内容赋值给 $a 如果a 有 php 就会进入逻辑 逻辑内是a内不能有php才会显示 flag

这个就是考察 pre的绕过 : 把php换行就可绕过 ?cmd=111%0aphp

首先换行会让其识别到php 进入逻辑 同时 第二个没有m(换行之后还会匹配)会造成 pre只筛选一行 就会导致这个绕过

web92

审计 : 新加逻辑: 我们的输入 不能等于 4476 的同时还需要等于4476

这个就是简单的

intval($num,0) 这个0表示十进制

其实不写 0 也会自动转换为10进制

八进制绕过 010574 八进制得出的结果是 10574 但是 这样会让其分不清是几进制 所以加个 0 表进制

web93

逻辑 需要我们的num 跳过上两个逻辑 8进制绕过 010574 绕过了第一个逻辑 第二个

或者是浮点数绕过

web94

strpos(目标,'要搜寻的东西') 搜寻函数 如果我们的num没有0就会GG

绕过 :

2、 浮点数也可以绕过 : 4476.01 只需要添加一个 0 供其匹配就行(看错了这个是过滤了一个 . )

web95

web96

拿到直接 区解码出来了

web97

从这个题开始 这里的代码审计就会变得难很多了

这个的逻辑是这两个数是不相等 但是MD5的值是相等的

使用数组不能被MD5的特点 ?a\[\]=1&?b\[\]=2

web98

10、如果 get是设置的 就让 get=post 否则自定义为 flag

get !=flag

?flag !=falg

我们无法设置 cookie和session 所以需要跳过

_GET = \&_POST 表示如果为假的就 让post的值等于 get

相关推荐
—Miss. Z—11 小时前
计算机二级MySQL——简单应用题(存储过程&存储函数)
数据库·oracle·php
故乡de云11 小时前
AWS 添加付款方式失败排查清单:卡片、银行风控与账号状态逐项定位
开发语言·php
梦梦代码精12 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
郑州光合科技余经理13 小时前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
lxw184491251414 小时前
PHP后端(CI框架方向)面试题库,分为基础必问、MySQL、Redis、工程运维、高阶加分、场景实操六大模块,适配该JD全部考点,附带标准答案
ci/cd·面试·php
weixin_408099671 天前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
王莎莎-MinerU1 天前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
AC赳赳老秦1 天前
OpenClaw 采集任务日志审计:全程记录采集行为,满足合规溯源与企业审计要求
java·大数据·python·数据挖掘·数据分析·php·openclaw
跨境技工小黎1 天前
海外抢票:2026icketmaster注册、抢票及退票攻略
php
Helen_cai2 天前
OpenHarmony 通用状态加载、空页面、错误兜底组件封装(全局业务通用 UI 组件 API23)
开发语言·ui·华为·php·harmonyos