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

ctfshow web90

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-16 11:25:09
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-18 16:06:11
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/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);}
}

intval($var,$base),其中var必填,base可选,这里base=0,则表示根据var开始的数字决定使用的进制: 0x或0X开头使用十六进制,0开头使用八进制,否则使用十进制。 这里===表示类型和数值必须相等,我们可以使用4476的八进制或十六进制绕过检测。 paylod:num=010574或num=0x117c

可以使用科学计数法进行绕过 ?num=4476.0 /** intval('4476.0')=4476 小数点
intval('+4476.0')=4476 正负号 intval('4476e0')=4476 科学计数法 intval('0x117c')=4476 16进制 intval('010574')=4476 8进制 intval(' 010574')=4476 8进制+空格 **/

有关这个函数intval(str,int)的讲解: 关于他的使用,当你使用 intval($_GET['num'], 0) 时,PHP 将对字符串 4476# 进行整数转换,PHP 的 intval 函数会从字符串的开始部分提取有效数值,直到遇到非数字字符就停止了,所以当你传入4476的时候,只要在其后面加入特殊符号的url编码值即可绕过 示例:?num=4476%23 ?num=4476%09 等等

http://www.jsqmd.com/news/175/

相关文章:

  • 解决 Ubuntu 25.04 下 make menuconfig 报 ncurses 错误的问题 - 指南
  • web359
  • 实用指南:Android中handler机制
  • web360
  • 缺失的第一个正数-leetcode
  • hbase的安装应用
  • 如何在后端优雅地生成并传递动态错误提示?
  • ctfshow web357
  • 深入解析:Java全栈开发面试实录:从基础到微服务的实战解析
  • 实用指南:设计模式:建造者模式
  • web358
  • 谁会不爱低温静音 性能还更强的!酷睿Ultra 5 230F vs 锐龙5 9600X生产力、功耗、温度全方位对比
  • 04_Redis凭啥这么牛:核心特性剖析
  • WPF包
  • WPF viewmodel retrieve matched view /window
  • 实用指南:目标检测如何将同时有方形框和旋转框的json/xml标注转为txt格式
  • ctfshow web351
  • ctfshow web353
  • fxztgxj5.dll fxzrs4qj.dll fxztgxa5.dll fxzrs3qj.dll fxzpmc1.dll fxzrs2qj.dll fxzmpxa5.dll - 实践
  • Linux虚拟机常用命令与Hadoop生态组件启动大全
  • 测试新手必学:10个让Bug无处遁形的黑盒测试技巧
  • private void Form1_Load与构造方法前执行顺序
  • 数据分类分级如何高效低成本落地?|高效智能的数据分类分级产品推荐(2025)
  • 文化课暂时计划
  • BGP路由属性与选路-1
  • private void Form1_Load和 private void Form1_Activated 方法区别
  • BGP反射路由器
  • HarmonyOS Stage模型与ArkTS:现代应用开发的核心架构与最佳实践 - 详解
  • 【CV】图像超分辨率的一些基础概念
  • 完整教程:苹果WWDC25开发秘技揭秘:SwiftData3如何重新定义数据持久化