CTF学习笔记——[极客大挑战 2019]BuyFlag

一、[极客大挑战 2019]BuyFlag1.题目2.解题步骤MENU界面下有buyflag的界面,按F12看看查了一下is_numeric()这个函数,他的作用是判断输入是否是数字的。如果是纯数字返回true,如果不是返回false。这道题注释的代码逻辑是要输入一个非纯数字的字符串且等于404,密码才能正确。然后顺手百度了一下这个函数的漏洞,在这里贴出来:这个函数和mysql结合起来就容易出问题,那是因为is_numeric判断的时候,当碰到16进制数的时候,也会判断成数字is_num
摘要由CSDN通过智能技术生成

一、[极客大挑战 2019]BuyFlag

1.题目

在这里插入图片描述

2.解题步骤

在这里插入图片描述
MENU界面下有buyflag的界面,按F12看看
在这里插入图片描述
查了一下is_numeric()这个函数,他的作用是判断输入是否是数字的。如果是纯数字返回true,如果不是返回false。这道题注释的代码逻辑是要输入一个非纯数字的字符串且等于404,密码才能正确。

然后顺手百度了一下这个函数的漏洞,在这里贴出来:

这个函数和mysql结合起来就容易出问题,那是因为is_numeric判断的时候,当碰到16进制数的时候,也会判断成数字

is_numeric函数对于空字符%00,无论是%00放在前后都可以判断为非数值,而%20空格字符只能放在数值后。所以,查看函数发现该函数对对于第一个空格字符会跳过空格字符判断,接着后面的判断。[原博客]

根据第二条的特性可以构造一

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值