BugKu 矛盾 wp

题目没有给出信息,先打开环境,看题目里面有什么信息。

OK,给出信息确定这个题是一道代码审计题目,阅读代码可以知道

如果num不是纯数字,则响应num

如果num不是纯数字且等于1,则响应num和flag

引出知识点
弱比较和强比较的知识点
1. 弱比较(Weak Comparison)
  • 定义:弱比较通常指的是在比较两个值时,不考虑它们的类型,只比较它们的值。这种比较方式可能会导致一些意外的结果,因为不同类型的值可能会被隐式转换为相同的类型进行比较。

  • 举例

    • 在JavaScript中,使用==运算符进行比较时,就是弱比较。例如:

      JavaScript
      let a = 5;
      let b = "5";
      console.log(a == b); // 输出:true

      在这里,a是一个数字类型,b是一个字符串类型。==运算符会尝试将b隐式转换为数字类型,然后再进行比较,因此结果为true

2. 强比较(Strong Comparison)
  • 定义:强比较指的是在比较两个值时,不仅比较它们的值,还比较它们的类型。如果类型不同,即使值相同,比较结果也为false

  • 举例

    • 在JavaScript中,使用===运算符进行比较时,就是强比较。例如:

      JavaScript
      let a = 5;
      let b = "5";
      console.log(a === b); // 输出:false

      在这里,a是一个数字类型,b是一个字符串类型。===运算符会同时比较它们的值和类型,因此结果为false
      简而言之,弱比较只在乎值是否相等,强比较在乎值和形式
      看题目,题目在告诉你上传一个弱比较,而且值不能等于1
      构建payload:  ?num=1a

      得到flag,这个题解出,得到flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值