您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)PHPCMS漏洞之v9寬字節(jié)注入問(wèn)題如何解決,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
“phpcms v9寬字節(jié)注入問(wèn)題”的漏洞修復(fù)方案
簡(jiǎn)介: 漏洞名稱(chēng):phpcms v9寬字節(jié)注入問(wèn)題 補(bǔ)丁文件:www/phpcms/modules/pay/respond.php 補(bǔ)丁來(lái)源:云盾自研 漏洞描述:phpcmsv9.5.9以后版本開(kāi)始默認(rèn)使用mysqli支持,在phpcms/modules/pay/respond.php中,因?yàn)榇a邏輯不夠嚴(yán)謹(jǐn), 導(dǎo)致寬字節(jié)注入?!咀⒁猓涸撗a(bǔ)丁為云盾自研代碼修復(fù)方案,云盾會(huì)根據(jù)您當(dāng)前代碼是否符合云盾自研的修復(fù)模式進(jìn)行檢測(cè), 如果您自行采取了底層/框架統(tǒng)一修復(fù)、或者使用了其他的修復(fù)方案,可能會(huì)導(dǎo)致您雖然已經(jīng)修復(fù)了該漏洞,云盾依然報(bào)告存在 漏洞,遇到該情況可選擇忽略該漏洞提示】 … 阿里云漏洞提示。
解決辦法:
1、打開(kāi)www/phpcms/modules/pay/respond.php,代碼第14行左右;
2、找到respond_get()替換成下面的代碼,代碼如下:
public function respond_get() { if ($_GET['code']){ $code = mysql_real_escape_string($_GET['code']);//注意修改 $payment = $this->get_by_code($code);//注意修改 if(!$payment) showmessage(L('payment_failed')); $cfg = unserialize_config($payment['config']); $pay_name = ucwords($payment['pay_code']); pc_base::load_app_class('pay_factory','',0); $payment_handler = new pay_factory($pay_name, $cfg); $return_data = $payment_handler->receive(); if($return_data) { if($return_data['order_status'] == 0) { $this->update_member_amount_by_sn($return_data['order_id']); } $this->update_recode_status_by_sn($return_data['order_id'],$return_data['order_status']); showmessage(L('pay_success'),APP_PATH.'index.php?m=pay&c=deposit'); } else { showmessage(L('pay_failed'),APP_PATH.'index.php?m=pay&c=deposit'); } } else { showmessage(L('pay_success')); } }
添加后的代碼,截圖示例如下:
3、然后,將修改好的文件,上傳到服務(wù)器對(duì)應(yīng)文件位置,直接覆蓋;
4、最后,登錄阿里云后臺(tái),點(diǎn)擊驗(yàn)證(截圖如下),即可完成漏洞修復(fù)。
關(guān)于PHPCMS漏洞之v9寬字節(jié)注入問(wèn)題如何解決就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。