【BUUCTF-Web】 [极客大挑战 2019]BuyFlag

题目页面

 点击右上角Menu可以进入flag页面

 

提示只有CUIT的学生才能购买flag

需要100000000才能购买flag

必须回答出正确密码才能购买flag

发现源代码里有php代码

 

isset()函数是用来检验变量是否被设置的。

  is_numeric()函数检测字符串是否只由数字组成,如果字符串中只包括数字,就返回Ture,否则返回False。

对于$password == 404,在PHP中==是一种弱类型比较,即只取字符串中开头的整数部分进行比较。

POST方式传入两个参数,password和money,其中password要绕过is_numeric()函数,并且密码还要等于404,php弱类型匹配

于是我们直接让password=404a或password = 404%20(相当于在404后面加了一个空格,其他空白字符也可以绕过)就可以了,既绕过了is_numeric()又完成了password的匹配。然后我们的钱需要100000000于是我们bp抓包发送POST请求。

 此处0改为1,表示是学生

 得到结果显示数字太长

1、科学计数法绕过money=1e9

2、数组绕过money[]=1

 得到flag

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RexHarrr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值