我是靠谱客的博主 甜美发卡,最近开发中收集的这篇文章主要介绍常见的PHP漏洞 - 字符串与0比较是相等的、md5加密漏洞等等,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

md5加密漏洞

比较哈希字符串的时候,php程序把每一个以“0x”开头的哈希值都解释为科学计数法0的多少次方,恒为0。

所以如果两个不同的密码经过哈希以后,其哈希值都是以“0e”开头的,那么php将会认为他们相同。

另外md5加密是有几率两个字符串不同,但是加密后的值是相同的情况,这种情况称为哈希碰撞。

<?php$str1 = 's878926199a';$str2 = 's214587387a'; echo json_encode([ 'md5_str1' => md5($str1), 'md5_str2' => md5($str2), 'bool' => md5($str1) == md5($str2)]);

结果两个值加密后竟然相等。

缺点你懂的,如果一个网站的某个用户密码加密后刚好是0e开头的,这个时候黑客过来破解,很容易就攻入了。

{
 md5_str1: "0e545993274517709034328855841020", md5_str2: "0e848240448830537924465865611904", bool: true}

is_numeric漏洞

会忽视0x这种十六进制的数

容易引

最后

以上就是甜美发卡为你收集整理的常见的PHP漏洞 - 字符串与0比较是相等的、md5加密漏洞等等的全部内容,希望文章能够帮你解决常见的PHP漏洞 - 字符串与0比较是相等的、md5加密漏洞等等所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部