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

PHP-运算符

[题目信息]:

题目名称题目难度
PHP-运算符2

[题目考点]:

PHP运算符优先级

[Flag格式]:

SangFor{zEk4r_djfgy0CibPz6LdXpwBrXRckhIT}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

http://分配ip:2067

[题目writeup]:

1、实验主页

2、源码分析

<?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['username']) && isset($_GET['password']) && isset($_GET['code'])){
    $username = (String)$_GET['username'];
    $password = (String)$_GET['password'];
    $code = (String)$_GET['code'];
    if($code === mt_rand(1,0x36D) && $password === $flag || $username ==="admin"){
if($code == 'admin'){ echo $flag; } } 

}

分析代码逻辑,首先在第一个if条件判断当中有三个参数username,password,code。在第二个if判断中出现了运算符的比较。看似条件苛刻,$code需要等于一个随机值,并且$password需要等于$flag。这都是未知的变量,无法获取。

但是在PHP中运算符的优先级 ||优先级低于&&

例如

<?php
if(false && false || true){   //也就是(flase || true)
    echo 667;
}
//输出结果:667

所以我们只需要满足username=admin过第一个if条件,code=admin满足第二个if条件即可,payload为

/?username=admin&code=admin&password=


http://www.kler.cn/a/534644.html

相关文章:

  • 为什么会有函数调用参数带标签的写法?Swift函数调用的参数传递需要加前缀是否是冗余?函数调用?函数参数?
  • GGML、GGUF、GPTQ 都是啥?
  • arcgis for js范围内天地图高亮,其余底图灰暗
  • 何为运行时(Runtime)
  • 手机上运行AI大模型(Deepseek等)
  • 为AI聊天工具添加一个知识系统 之77 详细设计之18 正则表达式 之5
  • mac下生成.icns图标
  • ubuntu20.04+RTX4060Ti大模型环境安装
  • Rust 核心语法总结
  • PTRACE_TRACEME 与反调试
  • MongoDB管道操作符(二)
  • PHP-回溯
  • HTML中的图片标签详解及路径使用【学术投稿-第五届环境资源与能源工程国际学术会议(ICEREE 2025)】
  • 使用多模态大语言模型进行深度学习的图像、文本和语音数据增强
  • Linux提权--John碰撞密码提权
  • K8S Deployment 实现 金丝雀(灰度) 发布
  • 用pytorch实现一个简单的图片预测类别
  • 原生redis实现分布式锁
  • web 第二次作业
  • 关于Vue.js组件开发
  • 基于keepalived+GTID半同步主从复制的高可用MySQL集群
  • python学opencv|读取图像(五十七)使用cv2.bilateralFilter()函数实现图像像素双边滤波处理
  • 报错解决方案笔记01
  • 为什么使用nohup 和 启动的python脚本,日志没有在nohup.out中
  • 迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP
  • 【ROS视频推流】使用web_video_server完成视频推流