最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 这些常见的PHP漏洞,如果你不知道,就别说自己是个攻城狮

    正文概述 转载于:掘金(PHP开源社区)   2021-01-24   409

    一、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这种十六进制的数

    容易引发sql注入操作,暴漏敏感信息

    echo json_encode([
     is_numeric(233333),
     is_numeric('233333'),
     is_numeric(0x233333),
     is_numeric('0x233333'),
     is_numeric('233333abc'),
    ]);
    

    结果如下

    16进制数0x61646D696EASII码对应的值是admin

    如果我们执行了后面这条命令的话:SELECT * FROM tp_user where username=0x61646D696E,结果不言而喻

    [
     true,
     true,
     true,
     false,
     false
    ]
    

    三、in_array漏洞

    in_array中是先将类型转为整形,再进行判断

    PHP作为弱类型语言,类型转换的时候,会有很大漏洞

    转换的时候,如果将字符串转换为整形,从字符串非整形的地方截止转换,如果无法转换,将会返回0

    <?php
    var_dump(in_array("2%20and%20%", [0,2,3]));
    

    结果如下

    bool(true)
    

    四、switch漏洞

    switch中是先将类型转为整形,再进行判断

    PHP作为弱类型语言,类型转换的时候,会有很大漏洞

    转换的时候,如果将字符串转换为整形,从字符串非整形的地方截止转换,如果无法转换,将会返回0

    <?php
    $i ="abc";
    switch ($i) {
     case 0:
     case 1:
     case 2:
     echo "i是比3小的数";
     break;
     case 3:
     echo "i等于3";
    }
    

    结果如下

    i是比3小的数

    五、intval强转漏洞

    PHP作为弱类型语言,类型转换的时候,会有很大漏洞

    转换的时候,如果将字符串转换为整形,从字符串非整形的地方截止转换,如果无法转换,将会返回0

    <?php
    var_dump(intval('2')); //2
    var_dump(intval('3abcd')); //3
    var_dump(intval('abcd')); //0
    

    原文:https://blog.csdn.net/weixin_41635750/article/details/109822456?utm_medium=distribute.pc_feed.none-task-blog-cf-2.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-cf-2.nonecase


    起源地下载网 » 这些常见的PHP漏洞,如果你不知道,就别说自己是个攻城狮

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元