阿里云提示Discuz uc.key泄露导致代码注入漏洞uc.php的解决方法

news/2024/7/24 10:01:55 标签: php

适用所有用UC整合

阿里云提示漏洞:

discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,..........

 

漏洞名称:Discuz uc.key泄露导致代码注入漏洞


补丁文件:/api/uc.php

补丁来源:云盾自研

 

解决方法:
找到文件/api/uc.php​ 中的以下代码:

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

大概216行,替换成以下:

$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.

 

转载于:https://www.cnblogs.com/xiangsj/p/6168664.html


http://www.niftyadmin.cn/n/1499622.html

相关文章

Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码

一&#xff1a;项目建立好及其基本的测试好 二&#xff1a;在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build><finalName>CourseDesignManage</finalName><plugins><plugin><groupId>org.mybatis.generator</grou…

redis使用watch完成秒杀抢购功能

Redis使用watch完成秒杀抢购功能&#xff1a;使用redis中两个key完成秒杀抢购功能&#xff0c;mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下&#xff1a;1. 首先选用内存数据库来抢购速度极快。2. 速度快并发自然没不是问题。3. 使用悲观锁&#xf…

CSS之BFC(Block Formatting Context)

这是我的第一篇博客&#xff0c;不知道从什么开始写起&#xff0c;那就从我现在看的开始写起吧。 以前我也不知道BFC是什么&#xff0c;今天看了才知道原来以前经常接触&#xff0c;只是不知道专业名称罢了。就像闭包、继承一样&#xff0c;以前经常用到&#xff0c;只是不知道…

个人博客练手项目

最近比较闲&#xff0c;学了一些杂七杂八的技术&#xff0c;但不知道怎么用&#xff0c;想的是做一个简单的博客项目来练手&#xff0c;不知道能不能坚持下去&#xff0c;现在把项目框架搭建好了 项目技术选择 后端&#xff1a;nodeexpressmongoose前端&#xff1a;vue2vue-rou…

服务器端渲染基础

服务器端渲染基础概念什么是渲染传统的服务端渲染通过Node.js演示传统的服务器端渲染模式客户端渲染现代化的服务端渲染服务端渲染使用建议概念 随着前端技术栈和工具链的迭代成熟,前端工程化,模块化成为了当下主流技术方案,在这比技术浪潮中,涌现了诸如Anfular,React,Vue等基…

支持动态滑出效果的vue-dynamic-dialog的使用说明

使用说明 安装 npm i vue-dynamic-dialog -D 复制代码在 main.js 中写入以下内容&#xff1a; import Vue from vue import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css import App from ./App.vue import VueDynamicDialog from vue-dynamic-dial…

Nuxt.js基础

Nuxt.js基础Nuxt.js介绍初始化Nuxt.js初始化Nuxt.js应用的方式案例代码分支说明路由-基础路由实例路由导航a链接导航nuxt-link导航组件编程式导航动态路由嵌套路由路由配置视图模板布局默认布局组件自定义布局组件异步数据-asyncDataNuxt.js异步数据-asyncData方法asyncData方法…

实例了解js面向对象的封装和继承等特点

1、面向对象特点 相比之前按照过程式写法&#xff0c;面向对象有以下几个特点; 1、抽象&#xff1a;抓住核心问题&#xff0c;就是将很多个方法放在一个对象上。对象由属性和方法组成&#xff0c;属性就是我们定义的变量&#xff0c;它是静态的&#xff1b;方法就是行为操作&am…