【网络安全 | CTF】攻防世界 simple_php 解题详析

时间:2024-10-11 13:56:56

文章目录

    • 代码解读
    • PHP弱语言特性
    • 正文
      • 参数a限制绕过
      • 参数b限制绕过

题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
在这里插入图片描述

代码解读

$a=@$_GET['a']; 从HTTP GET请求参数中获取一个名为a的变量,并将其赋值给变量a。@符号用于禁止错误输出,如果不存在参数a则会将变量a设置为NULL。

$b=@$_GET['b']; 从HTTP GET请求参数中获取一个名为b的变量,并将其赋值给变量b。

if($a==0 and $a){ echo $flag1; } 如果变量a等于0并且a存在,则输出变量flag1的值。但是由于a不可能同时为0和存在,因此这个if语句不会执行。

if(is_numeric($b)){ exit(); } 如果变量b是一个数字,则终止程序的执行。

if($b>1234){ echo $flag2; } 如果变量b的值大于1234,则输出变量flag2的值。