適用全部用UC整合php
阿里雲提示漏洞:api
discuz中的/api/uc.php存在代碼寫入漏洞,致使黑客可寫入惡意代碼獲取uckey,..........
漏洞名稱:Discuz uc.key泄露致使代碼注入漏洞函數
補丁文件:/api/uc.php
補丁來源:雲盾自研阿里雲
解決方法:
找到文件/api/uc.php 中的如下代碼:
spa
$configfile = substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) : $configfile;
大概216行,替換成如下:code
$configfile = preg_replace("/define\('UC_API',\s*'.*?'\);/i", "define('UC_API', '".addslashes($UC_API)."');", $configfile);
更新代碼後,在阿里雲後臺這條漏洞後面點「驗證一下」,便可看到這條漏洞補上就沒有了blog
科普一下:PHP addslashes() 函數ci
在每一個雙引號(")前添加反斜槓:it
<?php $str = addslashes('Shanghai is the "biggest" city in China.'); echo($str); ?>
結果:Shanghai is the \"biggest\" city in China.class