攻防世界 PHP2

embedded/2024/12/27 18:46:32/

开启场景

访问 /index.php,页面无变化

访问 /index.phps

index.php 和 index.phps 文件之间的主要区别在于它们的文件扩展名。

  1. index.php:这是一个标准的 PHP 文件,通常用于编写 PHP 代码。当用户访问 index.php 文件时,Web 服务器会解释其中的 PHP 代码,并将结果发送给用户的浏览器。PHP 文件可以包含 HTML、CSS、JavaScript 以及服务器端的 PHP 代码。
  2. index.phps:这个文件名可能是由开发人员自定义的,它的扩展名 .phps 是一种特殊的命名约定,通常用于显示 PHP 源代码而不是执行它。如果用户访问 index.phps 文件,Web 服务器通常会直接将文件内容发送给浏览器,而不会解释其中的 PHP 代码。这对于演示和学习目的可能会有用,但不建议在生产环境中使用这种方式,因为它会暴露服务器端的代码。

总之,index.php 是一个标准的 PHP 文件,用于执行 PHP 代码,而 index.phps 可能用于显示 PHP 源代码。

右键查看页面源代码

$_GET本身自带一次urldecode解码,即浏览器对url本身有一个检测,对于输入的中文等和一些特殊字符进行解码,对于字母、数字等合法字符不会进行解码

直接传参admin会被第一个 if 过滤掉,由于浏览器会对GET参数进行一次URL解码,加上PHP源码中的 urldecode($_GET[id]) 会对可变参数进行一次解码,一共会给参数进行2次解码,所以先将参数 admin 先编码两次。字母a进行urldecode编码之后为%61,在对%进行urldecode编码之后为%2561

所以参数输入 id=%2561dmin,浏览器先对参数编码一次为 %61dmin,然后参数传入PHP服务器后为 %61dmin,然后 $_GET[id] = urldecode($_GET[id]) 中 urldecode 再一次编码为 admin,跳到第二个 if 函数执行判断为true,得到了 flag

cyberpeace{ff251a03a5ed13c1fbe7acc389e0e049}

http://www.ppmy.cn/embedded/149242.html

相关文章

细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV

目录 一、工程配置 1、时钟、DEBUG 2、GPIO 3、SPI2 4、USART6 5、NVIC 二、软件设计 1、FALSH (1)w25flash.h (2) w25flash.c 1)W25Q16基本操作指令 2)计算地址的辅助功能函数 3)器…

RK356x bsp 7 - PCF8563 RTC调试记录

文章目录 1、环境介绍2、目标3、PCF85634、dts配置5、内核配置6、测试验证 1、环境介绍 硬件:飞凌ok3568-c开发板 软件:原厂rk356x sdk 2、目标 开发板断电后仍正常计时。 3、PCF8563 PCF8563 是由 NXP Semiconductors 公司生产的低功耗 CMOS 实时…

【Golang 面试题】每日 3 题(五)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

自动驾驶控制算法-离散规划轨迹的误差计算

本文是学习自动驾驶控制算法第七讲 离散规划轨迹的误差计算的学习笔记。 上一节中,我们知道 e r r e_{rr} err​中元素的表达式如下: { e d d e φ φ − θ r e ˙ d v sin ⁡ ( θ − θ r ) e ˙ φ φ ˙ − θ ˙ r φ − k r s ˙ \begin{e…

SQL Server数据库多主模式解决方案

SQL Server 本身并不直接支持多主模式(Multi-Master Replication),即多个数据库实例可以同时进行写操作,并且这些更改会自动同步到其他实例。不过,SQL Server 提供了多种高可用性和复制解决方案,可以实现类似多主模式的功能。以下是几种常见的方法: 1. Always On 可用性…

探索人工智能及机器学习如何赋能IP代理

在当今数字化时代,互联网已经成为信息传播、商业交流和全球互联的核心平台。随着网络流量的激增和互联网生态的复杂化,IP代理服务扮演着越来越重要的角色。它们不仅为用户提供匿名性、安全性,还帮助优化网络连接、加速数据访问。然而&#xf…

sentinel限流+其他

quick-start | Sentinel sentinel 作用 限流 熔断降级 1,限制什么 QPS 并发线程数 2,限制什么 资源,什么资源 服务,方法,接口,或者一段代码 3,实现方式 配置规则 注解 其他 Java常见5种限流…

feign验签不通过,但是postman没问题

测试一个外部api的时候发现,同样的签名方法和payload,放在postman请求完全没问题,curl也能通过,但是到了feign就签名错误。 百思不得其解,后来发现了问题。 计算签名的时候,payload使用的格式是 {"…