【PHP漏洞-弱类型】基础知识、php弱相等、报错绕过1.1、全等(===)和相等(==)

网友投稿 350 2022-09-22

【PHP漏洞-弱类型】基础知识、php弱相等、报错绕过1.1、全等(===)和相等(==)

目录

​​一、基础知识​​

​​1.1、全等(===)和相等(==)​​

​​1.2、相等的值​​

​​二、弱类型示例​​

​​2.1、弱相等​​

​​示例:​​

​​思路:​​

​​2.2、强相等​​

​​示例:​​

​​思路:​​

​​2.3、函数比较大小绕过​​

​​示例:​​

​​思路:​​

一、基础知识

1.1、全等(===)和相等(==)比较两个值是否相等可以用“==”和“===”顾名思义“===”全等就是格式形式都相等(强等于)“==”相等就会进行类型转换(弱等于)1.2、相等的值'' == 0 == false'123' == 123'abc' == 0'123a' == 123'0x01' == 1'0e123456789' == '0e987654321'[false] == [0] == [NULL] == ['']NULL == false == 0true == 1

二、弱类型示例

2.1、弱相等示例:if($_GET['a']!=$_GET['b'] && md5($_GET['a'])==md5($_GET['b'])){ echo $flag; }思路:要使得a和b的值不等,但md5值相等----->flag通过MD5碰撞来实现2.2、强相等示例:if($_GET['a']!=$_GET['b'] && md5($_GET['a'])===md5($_GET['b'])){ echo $flag; }思路:通过利用PHP函数在错误处理上的特性提交a[]=1&b[]=2,当我们令MD5函数的参数为一个数组的时候,函数会报错并返回NULL值。虽然函数的参数是两个不同的数组,但函数的返回值是相同的NULL,成功绕过。返回值中容易判断错误的函数还有很多返回值是0,而0==false是成立的,也能达到绕过的目的2.3、函数比较大小绕过示例:​​if(is_numeric($b)){     exit();      }      if($b>10000){        echo $flag;      }​​思路:参数b---->大于10000---->获取flag给b赋值10001a,类型转换后,大于10000

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:被自己粉丝骂成这样,她有这么不争气吗?
下一篇:【软件逆向-自动化】逆向工具大全
相关文章

 发表评论

暂时没有评论,来抢沙发吧~