2023-11-03 分類: 網(wǎng)站建設(shè)
前言
2020年好,各位 pHper 們,很久沒有寫原創(chuàng)文章了,心里實(shí)在過意不去,決定寫點(diǎn)文字,"從心"出發(fā),以求共鳴。
背景
今天打開 php.net ,忽地發(fā)現(xiàn) pHp 7.4.1 正式版本都已經(jīng)發(fā)布了,感慨萬千。想當(dāng)年,自己從 pHp 5.1 版本作為學(xué)習(xí)起點(diǎn),一直到 pHp 7.2 版本,已經(jīng)學(xué)了十多年了。不得不說,這些年 pHp 的變化確實(shí)很多也很大,期間還炒了很長一段時(shí)間 pHp 6,但 6 在西方屬于不吉利數(shù)字,所以跳過了。眾所周知,pHp 是一門動(dòng)態(tài)類型的語言,因此其編程時(shí)的靈活度和自由度會比強(qiáng)類型語言更高,然而正是這種特性使得它存在著與生俱來無法完整覆蓋測試的漏洞場景。
操作步驟
第1步、打開 pHp 7.4.1 變更記錄(https://www.php.net/ChangeLog-7.php#7.4.1)網(wǎng)址,如下圖:
我們發(fā)現(xiàn)了好幾個(gè) CVE (CVE 的英文全稱是“Common Vulnerabilities & Exposures”),即公共漏洞和暴露,而這種漏洞通常就是上一個(gè)版本存在的安全漏洞。
第2步、打開 bug.php.net 打開某個(gè) bug
的詳情(https://bugs.php.net/bug.php?0" cellspacing="0" >
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 源碼,如下圖所示:
接著,切換分支到 pHp-7.4.1 ,在 php-src 目錄右鍵
選擇 Remote branches -> origin/php-7.4.1 -> checkout。
第5步、比較 pHp-7.4.1 分支與 pHp-7.4.0 分支的目錄改動(dòng)區(qū)別。如下圖操作:
第6步、我們鼠標(biāo)雙擊圖中的 str2num.c 文件,根據(jù)pHp 7.4.1 的 changelog 我們可以直接推斷,這個(gè)變動(dòng)應(yīng)該就是修復(fù)了 CVE-2019-11046這個(gè)漏洞的,我們再來看看對應(yīng)的文件變更比較:
這里已經(jīng)比較明顯了,如果有同學(xué)能夠看懂 pHp 源碼,可以繼續(xù)深究一下了,本文純屬拋磚引玉。
當(dāng)前文章:phpgit的一些查找代碼漏洞方法
瀏覽地址:http://www.rwnh.cn/news39/292339.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、小程序開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站制作、網(wǎng)站改版、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容