php备份漏洞源码,原创|从 PHP Git 源码的查找导致 PHP 安全漏洞的代码变更

原标题:原创|从 PHP Git 源码的查找导致 PHP 安全漏洞的代码变更

前言

2020年好,各位 PHPer 们,很久没有写原创文章了,心里实在过意不去,决定写点文字,"从心"出发,以求共鸣。

背景

今天打开 php.net ,忽地发现 PHP 7.4.1 正式版本都已经发布了,感慨万千。想当年,自己从 PHP 5.1 版本作为学习起点,一直到 PHP 7.2 版本,已经学了十多年了。不得不说,这些年 PHP 的变化确实很多也很大,期间还炒了很长一段时间 PHP 6,但 6 在西方属于不吉利数字,所以跳过了。众所周知,PHP 是一门动态类型的语言,因此其编程时的灵活度和自由度会比强类型语言更高,然而正是这种特性使得它存在着与生俱来无法完整覆盖测试的漏洞场景。

操作步骤

第1步、打开 PHP 7.4.1 变更记录(https://www.php.net/ChangeLog-7.php#7.4.1)网址,如下图:

2c7ca1cce199a83b1f1bbabbeebc7903.png

我们发现了好几个 CVE (CVE 的英文全称是“Common Vulnerabilities & Exposures”),即公共漏洞和暴露,而这种漏洞通常就是上一个版本存在的安全漏洞。

第2步、打开 bug.php.net 打开某个 bug

In PHP versions 7.2.x below 7.2.26, 7.3.x below 7.3.13 and 7.4.0, PHP bcmath extension functions on some systems, including Windows, can be tricked into reading beyond the allocated space by supplying it with string containing characters that are identified as numeric by the OS but aren't ASCII numbers. This can read to disclosure of the content of some memory locations.

References

英文我就不翻译了,如果感兴趣,请自行想办法。

第3步、使用 php-src 官方源码,我在 gitee 上同步了一份来自 github 的源码,仓库地址:https://gitee.com/gopro/php-src.git,直接克隆一份到本地,git clone https://gitee.com/gopro/php-src.git。

第4步、使用 PHPStorm 打开 php-src 源码,如下图所示:

fff0144deec61a6a84fa30476b73e376.png

接着,切换分支到 PHP-7.4.1 ,在 php-src 目录右键

73f2a35a9fe4012a1c9975765564ee48.png

选择 Remote Branches -> origin/php-7.4.1 -> checkout。

第5步、比较 PHP-7.4.1 分支与 PHP-7.4.0 分支的目录改动区别。如下图操作:

f76f857d06b16f8ccb08b59473fcfec3.png

结果如下:

9259cc3051cf64fa96744146b5ded6bf.png

833760622c95fc838370b6e4ccae96b2.png

这里已经比较明显了,如果有同学能够看懂 PHP 源码,可以继续深究一下了,本文纯属抛砖引玉。

猿哥私人微信,不止技术分享返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值