CTFSHOW 菜狗杯 一言既出 解题思路和方法(两种方法解决)

点击题目链接,分析页面php代码,我们可以初步得到以下结论:

  • 页面使用get请求数据,同时参数为num
  • 页面num的值需要设置为114514
  • 页面使用 ==进行比较,该方法为弱口令比较
  • intval()转化后的值需要等于191810,否则执行die()函数,即终止脚本
第一种方法:使用弱口令绕过

弱口令比较的过程中,如果数字开头,会提取开头的数字,然后比较。如果开头是字符串,会转化为0,然后比较(===为强口令比较,会先判断类型,在比较值):

'123abc' == 123       TRUE

'bac123' == 123   FALSE

'abc123' == 0   TRUE

有了以上知识,我们就可以通过构造payload进行测试,首先num的值需要等于114514,查看结果

可以看到报错信息,由于intval(114514)的值不等于1919810,运行了die函数,输出 “一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值