矛盾

web——矛盾


启动场景,是一段php代码

image


跟之前的get传参有点像,但是多了一个判断 !is_numeric(num)


这个函数的作用是判断参数num是否是数字或数字字符串,不是数字才能输出num并进行第二个判断


而内嵌的第二个判断则是判断num是否等于1,等于1则输出flag


矛盾出现,既要不是数字又要等于1才能拿到flag


其实 ==是一种弱比较,如果两边是不同种类型的数据,那么先将他们变成同种类型再比较,比如左边是数字,右边是字符串,先把两边变成数字再比较,如果字符串里没有数字,就会变成0


在这道题目里,可以get传参是num=1i

http://114.67.175.224:10266/?num=1i

这样在第一个if里,num不是数字或数字字符串,输出1i并进行第二重判断


在第二重判断里num变成1,输出flag
image

posted @ 2022-06-27 16:22  ssuxi  阅读(43)  评论(0编辑  收藏  举报