极品分享

Discuz uc.key泄露导致代码注入漏洞 UC1.5.0 /api/uc.php

标题:Discuz uc.key泄露导致代码注入漏洞

描述:在Discuz中,uc_key是UC客户端与服务端通信的通信密钥,discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,最终进入网站后台,造成数据泄漏。您也可以登录官方网站更新到最新版本解决。

文件:/api/uc.php

解决方案:

找到文件/api/uc.php 中的以下代码:(大概216行)

补丁前: 

$configfile = substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) : $configfile;

修改为:

$configfile = preg_replace("/define\('UC_API',\s*'.*?'\);/i", "define('UC_API', '".addslashes($UC_API)."');", $configfile);




延伸阅读: 

科普一下:PHP addslashes() 函数

在每个双引号(")前添加反斜杠:

<?php 
$str = addslashes('Shanghai is the "biggest" city in China.');
echo($str); 
?>

结果:Shanghai is the \"biggest\" city in China.

2018-06-27 0 /
PHP学习
/
标签: 

评论回复

回到顶部