MD5绕过
1.php == 弱类型绕过
$a = $GET['a'];
$b = $_GET['b'];
if($a != $b && md5($a) == md5($b))
{
echo flag;
}
两种方法:1.使用加密后‘oe’开头的字符串来绕过,应为以0e开头的字符串的值都为0。
例如
QNKCDZO
240610708
byGcY
sonZ7y
aabg7XSs
aabC9RqS
s878926199a
s155964671a
s214587387a
s1091221200a
2.使用数组进行绕过,应为MD5不能加密数组,会报错,返回null,但是null=null返回的值为true
例如: a[]=1&b[]=2
2.php === 强类型绕过
$a = $GET['a'];
$b = $_GET['b'];
if($a !== $b && md5($a) === md5($b))
{
echo flag;
}
===会比较类型和值,所以不能用第一种方法来绕过,可以使用第二种方法,原理是相同的
3.sql注入类的MD5绕过
ffifdyop经过MD5加密后变为'or'6xxx
sql代码:select * from flag where user='amdin' and password='or' '6xxx' 等于 password=''or true == ture
从而实现了绕过
4.MD5碰撞(等待后续更新)

浙公网安备 33010602011771号