『CTF Tricks』PHP-绕过md5()

文章目录

  • 一、数组绕过强、弱比较
  • 二、0e绕过弱比较
  • 三、双重md5下的0e绕过
  • 四、自身与md5相等
  • 五、md5 + SQL注入
  • 六、md5碰撞绕过不同字符串、相同md5值的强比较

一、数组绕过强、弱比较

对数组md5后虽然不正确,但是代码会继续运行,并且md5数组的返回值是NULL都相同,因此传入数组,如?a[]=1&b[]=2
『CTF Tricks』PHP-绕过md5()_第1张图片

二、0e绕过弱比较

对于某些特殊的字符串加密后得到的密文以0e开头,PHP会当作科学计数法来处理,也就是0的n次方,得到的值比较的时候都相同,见下方:

  • QNKCDZO
  • s1091221200a
  • s878926199a
  • s214587387a
  • s155964671a

三、双重md5下的0e绕过

以下字符串进行两次md5后以0e开头

  • 7r4lGXCH2Ksu2JNT3BYM
  • CbDLytmyGm2xQyaLNhWn
  • 770hQgrBOjrcqftrlaZk

四、自身与md5相等

对于0e215962017,md5后也是以0e开头

五、md5 + SQL注入

使用ffifdyop,先md5再hex2bin后变成了'or'6�]��!r,��b,绕过SQL注入

六、md5碰撞绕过不同字符串、相同md5值的强比较

linux使用md5collgen碰撞生成两个md5值相同但内容不同的文件
『CTF Tricks』PHP-绕过md5()_第2张图片

md5collgen -o 1.bin 2.bin

『CTF Tricks』PHP-绕过md5()_第3张图片

你可能感兴趣的:(#,Tricks,php,ctf,安全)