news 2026/6/15 17:26:36

攻防世界: simple_php

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
攻防世界: simple_php

攻防世界: simple_php

  1. 访问网页,可以看到源码部分如下
<?phpshow_source(__FILE__);include("config.php");$a=@$_GET['a'];$b=@$_GET['b'];if($a==0and$a){echo$flag1;}if(is_numeric($b)){exit();}if($b>1234){echo$flag2;}?>

这里可以简单了解下php相关的知识:


松散比较 (==) 的类型转换
当字符串与数字使用==比较时,PHP会尝试将字符串转换为数字

  • "0" == 0true(字符串"0"转为数字0

到布尔值的隐式转换 (if($a))
ifandor等布尔上下文中,值会被自动转换为truefalse。这里我的第一想法是让a=‘0’,这样在比较相等的时候是相等的,但是非空字符串为true.


is_numeric()函数的行为
它判断一个变量是否是数字或数字字符串,但比较严格:

  • 返回true1234"1234""-123.4""1e4""0x4d2"(十六进制)
  • 返回false"1234abc""1234 "(尾部有空格)、"abc"NULL

字符串与数字的>比较
当字符串与数字进行大小比较时,PHP的行为是:

  1. 尝试将整个字符串转换为数字。
  2. 转换规则:从左到右读取,直到遇到第一个非数字字符(小数点除外)为止,将读取到的数字部分作为转换结果。
  3. 如果字符串不是以数字开头,则转换结果为0

  1. 构造数据,根据前面的规则,我构造了下面的数据

a='0'(实际上是a=0)

  • '0'是一个字符串。在$a==0的松散比较中,PHP会将字符串'0'转换为数字0,条件成立。
  • 同时,字符串'0'本身在if($a)的布尔判断中,它不为空且不是假值字符串,因此也为true。(在PHP中,只有字符串'''0'会被认为是布尔假,但这里作为整体条件$a是存在的,所以为真。)
  • 因此满足$a==0 and $a,触发echo $flag1;

b=1235a

  • '1235a'是一个以数字开头的字符串。is_numeric('1235a')会返回false,因此不会执行exit()
  • $b>1234的比较中,PHP会将字符串'1235a'强制转换为数字,取开头的1235进行比较,1235 > 1234成立。
  • 因此触发echo $flag2;

成功拿到数据!

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

LRCGET离线音乐歌词同步终极指南:三步搞定歌词匹配难题

LRCGET离线音乐歌词同步终极指南&#xff1a;三步搞定歌词匹配难题 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 还在为本地音乐库中的数千首歌曲手动…

作者头像 李华
网站建设 2026/6/15 9:29:55

QuPath终极指南:5步快速掌握生物图像分析全流程

QuPath终极指南&#xff1a;5步快速掌握生物图像分析全流程 【免费下载链接】qupath QuPath - Bioimage analysis & digital pathology 项目地址: https://gitcode.com/gh_mirrors/qu/qupath QuPath是一款专业的开源生物图像分析平台&#xff0c;专门为数字病理学和…

作者头像 李华
网站建设 2026/6/15 14:34:18

Windows更新修复终极解决方案:从诊断到预防的完整指南

Windows更新修复终极解决方案&#xff1a;从诊断到预防的完整指南 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-Update-Tool 当Windows更…

作者头像 李华
网站建设 2026/6/15 8:07:19

rsync远程文件同步实用指南

一、rsync简介 什么是rsync&#xff1f; rsync&#xff08;remote sync&#xff09;是一个功能强大的文件同步工具&#xff0c;能够在本地或远程系统之间高效地同步文件和目录。它使用智能算法&#xff0c;仅传输文件的变化部分&#xff0c;大大提高了同步效率。 主要特性与优势…

作者头像 李华
网站建设 2026/6/15 9:21:31

QuPath生物图像分析深度指南:7大核心技能解锁

QuPath生物图像分析深度指南&#xff1a;7大核心技能解锁 【免费下载链接】qupath QuPath - Bioimage analysis & digital pathology 项目地址: https://gitcode.com/gh_mirrors/qu/qupath QuPath作为生物图像分析领域的开源利器&#xff0c;为研究人员提供了从图像…

作者头像 李华
网站建设 2026/6/15 14:17:42

超详细版:Zephyr下RTC实时时钟驱动开发流程

手把手教你写 Zephyr 下的 RTC 驱动&#xff1a;从设备树到实际应用你有没有遇到过这样的场景&#xff1f;系统断电重启后&#xff0c;时间“倒流”回出厂设置&#xff1b;或者低功耗设备睡了一觉&#xff0c;醒来连今天星期几都搞不清。这类问题的核心&#xff0c;往往就出在实…

作者头像 李华