CTF中的PHP弱类型

感谢:长亭科技的学习资料

PHP中有两种类型比较符号 == 和 === 其中 == 在比较前会将类型强制转换为一样,而 === 会先比较符号两边的类型。
在这里插入图片描述
一个数字和字符串比较的时候会将字符串转换为数字,如果一个字符串中不包含 ‘.’,‘E’,'e’并且数值在整型范围内则当作int处理,否则按照float处理。如果字符串首字母不是数则当作0处理,是数字就当作那个数字处理

题型1. strcmp字符串比较

在这里插入图片描述
因为这里strcmp函数比较出了错所以返回了NULL,NULL==0 所以这里输出了flag

题型2. 字符串比较升级版

在这里插入图片描述
怎样可以使两个字符串不同而MD5后的结果相同呢,虽然MD5理论上是存在重复的但是这里显然考的不是这个知识点
在这里插入图片描述
由前面的介绍可知“0eXXXXX”之类的会按照0处理所以找两个MD5后为0e开头的即可

在这里插入图片描述

题型3. 登录逻辑常见考点

在这里插入图片描述

posted @ 2019-04-14 01:10  SEC.VIP_网络安全服务  阅读(234)  评论(0编辑  收藏  举报