深入浅出PHP强弱比较

鉴于最近打的一个比赛,来了解一下ctf中经常出现的弱等于强等于的问题

PHP弱类型

Q1:二者弱比教

这部分内容自己检索,简要的说==的情况下,左右两边的类型会进行转化。

举个例子来说

<?php
show_source(__FILE__);
$a=$_GET['a'];
$b=$_GET['b'];
if($a != $b&& md5($a) == md5($b))
echo "you are right!";
else
echo "erro";
?>

如题,需要我们传入的内容不一样,但是MD5加密之后需要相同

常见的做法有两种

方法一:

弱比教数组绕过,payload如下

?a[]=1&b[]=2

先进行数组的比较,1!=2,再md5加密,对于对数组的加密,默认是Null,两者加密之后相同

方法二:

常见的知识积累

?a=240610708&b=s214587387a0

原理是两者MD5加密之后开头都是0e,在php语言中,0e会在php解释为0

以下是常见的一些

QNKCDZO
240610708
s878926199a
s155964671a
s214587387a0

sha1的弱比教类比上面的内容

Q2:自身弱比教

例题如下

<?php
show_source(__FILE__);
$a=$_GET['a'];
if( md5($a) == $a)
echo</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值