php中md5函数的漏洞

作者: 山东大葱哥 | 来源:发表于2019-09-22 10:09 被阅读0次

PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。

    QNKCDZO
    240610708
    s878926199a
    s155964671a
    s214587387a
    s214587387a
     sha1(str)
    sha1('aaroZmOk')  
    sha1('aaK1STfY')
    sha1('aaO8zKZF')
    sha1('aa3OFF9m')

同时MD5不能处理数组,若有以下判断则可用数组绕过

if(@md5($_GET['a']) == @md5($_GET['b']))
{
    echo "yes";
}
//payload   http://127.0.0.1/1.php?a[]=1&b[]=2

URL可以传递数组参数,形式是http://haha.com?x[]=1&x[]=2&x[]=3,这样就提交了一个x[]={1,2,3}的数组。
在PHP中,MD5是不能处理数组的,md5(数组)会返回null,所以md5(a[])==null,md5(b[])==null,md5(a[])=md5(b[])=null。
引用网友一段话:

image.png

相关文章

  • PHP漏洞总结

    总结 CTF中遇到的一些PHP漏洞的总结。 MD5 Compare漏洞 md5()和sha1()都无法处理数组,返...

  • php中md5函数的漏洞

    PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,...

  • PHP学习笔记-常见的PHP漏洞

    PHP是弱类型语言,所以内置的很多函数,在进行转换和比较的时候,会有各种漏洞需要我们重点关注。 MD5加密漏洞 比...

  • php文件包含漏洞

    php文件包含漏洞 相关函数 php中引发文件包含漏洞的通常是以下四个函数: 1、reuqire() 如果在包含的...

  • php 加密你知道哪些呢?

    php 自带的加密函数 不可逆的加密函数为:md5()、crypt()md5() 用来计算 MD5 哈稀。语法为:...

  • PHP文件包含漏洞利用思路与Bypass总结手册(一)

    前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结。 相关函数 四个函数 php中引...

  • CTF_web杂记

    CTF_web 1、PHP中md5()函数无法处理数组,如果传入的为数组,会返回NULL 2、PHP有备份文件时,...

  • PHP反序列化漏洞原理与复现

    php反序列化漏洞,又叫php对象注入漏洞 序列化与反序列化 php中有两个函数serialize()[http:...

  • 数据加密

    单向散列:哈希加密。 PHP MD5函数 加密长度是64/32位的。MD5("这里是加密串")MD5($POST...

  • PHP漏洞函数

    1、parse_url()parse_url()的小trick,通过:'///x.php?key=value'的方...

网友评论

    本文标题:php中md5函数的漏洞

    本文链接:https://www.haomeiwen.com/subject/vamkuctx.html