Discuz!uc.key泄露导致代码注入漏洞uc.php的解决方法
漏洞名称:Discuz uc.key泄露导致代码注入漏洞
漏洞描述:在Discuz中,uc_key是UC客户端与服务端通信的通信密钥,discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,最终进入网站后台,造成数据泄漏。您也可以登录官方网站更新到最新版本解决。
最近用某云服务器的朋友比较多,都来反馈~这个漏洞,现在把修复方案分享下吧
打开/api/uc.php
第一处修改
if(!API_UPDATEBADWORDS) {return API_RETURN_FORBIDDEN;
}
$data = array();
if(is_array($post)) {foreach($post as $k => $v) { //dz uc-key修改开始if(substr($v['findpattern'], 0, 1) != '/' || substr($v['findpattern'], -3) != '/is') {$v['findpattern'] = '/' . preg_quote($v['findpattern'], '/') . '/is';}//end 修改结束 $data['findpattern'][$k] = $v['findpattern'];$data['replace'][$k] = $v['replacement'];}
}
第二处修改
function updateapps($get, $post) {global $_G;if(!API_UPDATEAPPS) {return API_RETURN_FORBIDDEN;} //$UC_API = $post['UC_API'];//dz uc-key修改开始$UC_API = '';if($post['UC_API']) {$UC_API = str_replace(array('\'', '"', '\\', "\0", "\n", "\r"), '', $post['UC_API']);unset($post['UC_API']);}//end修改结束$cachefile = DISCUZ_ROOT.'./uc_client/data/cache/apps.php';
第三处修改 找到
$configfile = preg_replace
修改为
$configfile = preg_replace("/define\('UC_API',\s*'.*?'\);/i", "define('UC_API', '".addslashes($UC_API)."');", $configfile);
修改后,提交替换同名文件,官方最新版已经补了,如果不是最新版 按以上方式修改下
特别提示:修改文件前,请注意备份!
Discuz!uc.key泄露导致代码注入漏洞uc.php的解决方法相关推荐
- Hack The Box - Catch 利用let chat API查询信息,Cachet配置泄露漏洞获取ssh登录密码,apk代码注入漏洞利用获取root权限
Hack The Box-Catch Hack The Box开始使用流程看这篇 文章目录 Hack The Box-Catch 整体思路 1.Nmap扫描 2.apk文件信息收集 3.lets ch ...
- Spring-Cloud-Gateway之代码注入漏洞及解决
目录 1. 背景 2. 漏洞简介 3. 原理 3. 1Spring-Cloud-Gateway的原理 3.1.1 核心流程 3.1.2 流程说明 3.1.3 常见的 API 网关实现方案主要有以下 6 ...
- 导致命令注入漏洞的php函数,PHP安全-函数
函数 在我写作本书的时候,http://www.gxlcms.com/列出了共3917个函数,其中包括一些类似函数的语法结构,在此我不准备把它们从函数中区分开来,而是把它作为函数看待. 由于函数数量很 ...
- Discuz 7.2 /faq.php SQL注入漏洞
测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Discuz 7.2 /faq.php SQL注入漏洞 http://www.xxx.com/faq.php?actio ...
- 知名Node.js组件存在代码注入漏洞
喜欢就关注我们吧! 日前,一个被大量下载的 Node.js 组件被发现其含有一个高危的代码注入漏洞. 该漏洞被追踪为 CVE-2021-21315,影响了「systeminformation」npm ...
- Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法
Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法 今天修改一个比较奇怪的bug: 在操作一个事件的时候,使用eventbus来监听事件,断点发现有时候是会执 ...
- 计算机蓝屏无法启动代码50,电脑蓝屏代码0x0000007b无法正常启动的解决方法
电脑出现蓝屏是十分常见的故障之一,而在蓝屏的时候会提示蓝屏代码,不同的蓝屏代码代表不同的意义,让我们快速的了解电脑是什么问题.那么遇到电脑蓝屏代码0x0000007b怎么办?下面装机之家分享一下电脑蓝 ...
- 因修改/etc/sudoers权限导致sudo和su不能使用的解决方法
因修改/etc/sudoers权限导致sudo和su不能使用的解决方法 参考文章: (1)因修改/etc/sudoers权限导致sudo和su不能使用的解决方法 (2)https://www.cnbl ...
- ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法 参考文章: (1)ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法 (2)ht ...
最新文章
- linux默认shell类型转换,Linux中默认的shell如何切换为其他类型的shell
- python就业方向及工资-Python的就业的方向和前景
- HDOJ 1018(阶乘位数)
- J.U.C系列(六)ForkJoin的使用
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
- HELP! I’m an Object Factory!
- 华为荣耀20计算机,华为云电脑将停止服务/荣耀新机保护壳曝光/小米新机渲染图曝光...
- html5语义化编程,HTML5常用的语义化标签
- 英特尔服务器主板g41性能,什么叫优化好,英特尔G41集成显卡也能流畅运行
- 论文写作---Matlab求解偏导数
- 「解决方案」运维、能耗、网关整体解决方案
- PEANUT-WF模块开发-HslCommunicationEx
- 公文标题排版(样式修改)
- python音频频谱分析软件_SpectrumView(音频频谱分析软件)
- 自定义 UINavigationController
- IP地址和MAC 地址
- Java EE(进阶版)
- Interproscan linux版本详细安装教程及运行报错解决方案
- JAVA乐居租房网的设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署
- 你的计算机无法访问网络设置,局域网无法访问其他计算机怎么办
热门文章
- MySQLdb._exceptions.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘ (using passw
- 争取能让大家都能看懂的 DFA 算法
- linux内存回收(一)---kswapd回收
- python拆分字符串生成列表_关于python:如何将字符串拆分为列表?
- python文件查重工具,基于文件大小和md5/sha1值
- MATLAB画图-plot-线形、颜色、数据点形状的选择
- 比比网开源的一款头像制作小程序
- Vue和React的区别到底是什么?
- TiDB数据库HTAP概述
- 在C++中检测和转换字节序(ENDIAN)