MD5的四种绕过方法
1、0E绕过(可用于'=='):
0E开头的字符串在参与比较的时候会被当最哦科学计数法,结果转换为0.
方法:使用两个用md5加密后开头为0E的字符串,进行比较。
常见0E开头的字符串:
QNKCDZO
240610708
byGcY
sonZ7y
aabg7XSs
aabC9RqS
s878926199a
s155964671a
s1091221200a
双重md5绕过
7r4lGXCH2Ksu2JNT3BYM
CbDLytmyGm2xQyaLNhWn
770hQgrBOjrcqftrlaZk
2、数组绕过(可用于'==='和'=='):
MD5不能加密数组传入数组会报错,但会继续执行并且返回null。
3、MD5碰撞
利用md5不同内容的输入经过散列算法后得到相同的输出,可以使用fastcoll进行生成。
fastcoll_v1.0.0.5.exe -p 输入.txt -o 1.txt 2.txt
1.txt(url编码)
%61%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5d%9f%f2%1f%9c%29%75%31%f3%fd%0d%ea%e6%0c%6e%ec%ee%ed%7c%40%03%d0%73%21%20%7d%2c%22%92%c5%61%55%c0%5e%e1%83%86%4c%c4%f1%18%f0%1c%d5%d6%77%fe%10%0c%10%07%35%72%d8%df%1c%06%da%52%53%70%13%5f
2.txt(url编码)
%61%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5d%9f%f2%1f%9c%29%75%31%f3%fd%0d%ea%e6%0c%6e%ec%ee%ed%7c%40%03%50%73%21%20%7d%2c%22%12%c5%61%55%c0%5e%e1%83%86%4c%c4%f1%98%f0%1c%d5%d6%77%fe%10%0c%10%07%35%72%58%df%1c%06%da%52%53%f0%13%5f
4、MD5-sql注入
ffifdyop 的MD5加密结果是 276f722736c95d99e921722cf9ed621c
经过MySQL编码后会变成’or’6xxx,使SQL恒成立,相当于万能密码,可以绕过md5()函数的加密
利用sql的万能密码的特性。
5、哈希长度扩展攻击