攻防世界WEB(新手模式)12-simple_php

看得出来,这是一道关于php代码的问题

首先我们要做这道题就要了解到这个代码是什么含义

首先分析这段代码,创建了两个GET变量a和b,然后进行了三次判断。

第一次,只有当a同时满足a=0和a为真的时候会显示出flag1的这个变量。

第二次,如果b是整数或者是是数字的时候,字符串会被退出。

第三次,当b>1234的时候可以得到flag2。

又因为php是弱语言类型“==”仅仅表示的是数值相等,而且当数字和字母组成的字符串比较的时候,仅会以前面的数字参与比较。

那么对于a的话,我们直接传一个字母a进去,因为a是没有赋值的,所以通过比较,字符串‘a’==0是true的,并且a也是true的,因此符合条件可以得到flag1。

ok是只得到了一般的flag,那我们接下来看b

对于b的话,我们可以传给他6666a,这样b就不是数字串,6666a会自动转换成6666再去和1234进行比较,他比1234大因此得到true。(不一定非要6666a只要是比1234

大的数字就可以)

因此我们得到了另一半的flag

当然我们也可以一起出flag,只需要在ab分别的条件中间加一个“和&”的符号就行

答案:

Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值