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

Web三漏洞学习(其三:rce漏洞)

靶场:NSSCTF

三、RCE漏洞

1、概述

在Web应用开发中会让应用调用代码执行函数系统命令执行函数处理,若应用对用户的输入过滤不严,容易产生远程代码执行漏洞或系统命令执行漏洞

所以常见的RCE漏洞函数又分为代码执行函数系统命令执行函数

2、常见RCE漏洞函数

<1>系统命令执行函数

(这些函数用于在服务器上执行操作系统级别的命令,比如在Linux上运行ls列出目录内容,或者在Windows上运行dir

system(): 能将字符串作为OS命令执行,且返回命令执行结果,即执行系统命令,并将输出显示到屏幕上

例如

system("ls -l");

这条命令会在服务器上运行ls -l列出当前目录下的文件文件夹,并将结果显示到屏幕上

exec():能将字符串作为OS命令执行,但只返回执行结果的最后一行(约等于无回显)(执行系统命令,但不会直接显示输出。输出可以被捕获到一个变量中)

$output = [];
exec("ls -l", $output);
print_r($output);

这条命令会在服务器上运行ls -l,并将输出存储$output数组中,可以通过print_r查看输出内容 

shell_exec():能将字符串作为OS命令执行,只调用命令不返回任何结果,但把命令的运行结果原样输出到标准输出设备上,即执行系统命令,并将输出作为字符串返回

例如

$output = shell_exec("ls -l");
echo $output;

这条命令会在服务器上运行ls -l,并将输出作为字符串返回,可以通过echo将结果显示出来。

passthru():能将字符串作为OS命令执行,只调用命令不返回任何结果,但把命令的运行结果原样输出到标准输出设备上,即执行系统命令,并将原始输出直接输出到屏幕上

例如

passthru("ls -l");

这条命令会在服务器上运行ls -l,并将原始输出直接显示在屏幕上,不会进行任何处理。

popen():打开进程文件指针 ,也就是打开一个进程管道,用于执行系统命令,并可以读取或写入数据。

例如

$handle = popen("ls -l", "r");
$output = fread($handle, 2096);
pclose($handle);
echo $output;

这条命令会在服务器上运行ls -l,并通过popen打开一个管道,你可以通过fread读取输出内容

proc_open():与上面的popen()类似

pcntl_exec():在当前进程空间执行指定程序,其为 PHP 中的一个函数,用于在当前进程空间中执行指定的程序。它会替换当前进程的代码,而不是启动一个新的进程。这意味着当前 PHP 脚本会被中断,新的程序会在同一个进程中运行。

例如假设我有一个 PHP 脚本,我想在其中执行一个外部程序(比如 ls 命令)

<?php
// 使用 pcntl_exec 执行外部程序
pcntl_exec('/bin/ls', ['-l', '/var/www/html']);
?>

/bin/ls 是要执行的程序路径

['-l', '/var/www/html'] 是传递给程序的参数,表示以长格式列出 /var/www/html 目录下的文件 

" : 反引号内的字符串会被解析为OS命令。在 PHP 中用于执行系统命令。反引号内的字符串会被解析为操作系统命令,并将命令的输出作为字符串返回。

例如假设我有一个 PHP 脚本,你想在其中执行一个系统命令(比如 ls 命令)并捕获输出

<?php
// 使用反引号执行系统命令并捕获输出
$output = `ls -l /var/www/html`;
echo $output;
?>

`ls -l /var/www/html` 是要执行的系统命令;

反引号内的命令会被执行,输出会被存储到 $output 变量中;

使用 echo 输出捕获的内容 。

<2>代码执行函数

(这些函数用于在服务器上执行PHP代码其他编程语言代码。它们可以让攻击者直接执行恶意代码,而不仅仅是系统命令)

eval():将字符串作为php代码执行(或者说执行字符串中的php代码)

例如

$code = "echo 'Hello, World!';";
eval($code);

这条命令会将字符串$code中的PHP代码执行,输出Hello, World!

assert():也是将字符串作为php代码执行(或执行字符串中的php代码,与eval()类似)

例如

$code = "echo 'Hello, World!';";
assert($code);

这条命令会将字符串$code中的PHP代码执行,输出Hello, World! 

preg_replace():这则匹配替换字符串

create_function():主要创建匿名函数,并执行其中的代码

例如

$code = "echo 'Hello, World!';";
$func = create_function('', $code);
$func();

这条命令会创建一个匿名函数,将字符串$code中的PHP代码作为函数体,然后调用这个函数,输出Hello, World! 

call_user_func():回调函数,第一个参数为函数名,第二个参数为函数的参数,即调用一个用户定义的函数

例如

function my_function() {echo 'Hello, World!';
}
call_user_func('my_function');

这条命令会调用my_function函数,输出Hello, World! 

call_user_func_arry():回调函数,第一个参数为函数名,第二个参数为函数的参数,即调用一个用户定义的函数,并传递参数。

例如

function my_function($name) {echo "Hello, $name!";
}
call_user_func_array('my_function', ['World']);

这条命令会调用my_function函数,并传递参数'World',输出Hello, World! 

可变函数:若变量有括号,该变量会被当做函数名为变量值(前提是该变量值是存在的函数名)的函数执行

通俗的理解:

想象一下,你有一个遥控器,可以控制一台电视。系统命令执行函数就像是遥控器上的按钮,你可以按这些按钮来让电视执行某些操作,比如换台、调节音量等。而代码执行函数就像是直接控制电视内部的电路板,你可以让电视做任何你想做的事情,比如显示自定义的图像或播放自定义的音频

3、RCE绕过

管道符 绕过

如果管道符(|)被过滤,可以使用分号(;)、双与(&&)或双或(||

管道符实例描述
;A;B无论真假,A与B都执行
&A&B无论真假,A与B都执行
&&A&&BA为真时才执行B,否则只执行A
|A|B显示B的执行结果
||A||BA为假时才执行B,否则只执行A

空格过滤 绕过

如果空格被过滤,可以使用$IFS、制表符(%09)或大括号({}

以下可代替空格
<<>%20(即space)
%09(即tab)$IFS$9${IFS}
$IFS{cat,/flag}

反斜杠\ 绕过

如果某些命令或字符被过滤,可以使用反斜杠(\)来绕过

//如cat、ls被过滤,使用\绕过
c\at /flag
l\s /

取反 绕过

通过取反操作来生成目标字符串

$a = "cat";
$b = ~$a; // 取反操作
$cmd = $b;

异或 绕过

通过异或操作来生成目标字符串

$a = "cat";
$b = $a ^ "dog"; // 异或操作
$cmd = $b;

自增 绕过

通过自增操作来生成目标字符串

$a = "ca";
$a++; // 自增操作
$cmd = $a;

黑名单 绕过

如果某些命令或函数被过滤,可以尝试变量拼接或内联执行

// 原始命令
$cmd = "cat /flag";
// 绕过
$b = "ag";
$cmd = "cat /fl$b";

正则匹配 绕过

如果某些字符或模式被正则过滤,可以使用通配符或正则表达式

// 原始命令
$cmd = "cat /flag";
// 绕过
$cmd = "cat /f???";
// 或者
$cmd = "cat /fl[a-z]{3}";

引号绕过
    //如cat、ls被过滤ca""t /flagl's' /

cat替换命令
morelesscattac
headtailvivim
nlodsortuniq
tac与cat相反,按行反向输出
more按页显示,用于文件内容较多且不能滚动屏幕时查看文件
less与more类似
tail查看文件末几行
head查看文件首几行
nl在cat查看文件的基础上显示行号
od以二进制方式读文件,od -A d -c /flag转人可读字符
xxd以二进制方式读文件,同时有可读字符显示
sort排序文件
uniq报告或删除文件的重复行
file -f报错文件内容
grep过滤查找字符串,grep flag /flag
base编码绕过

Base64编码可以将命令编码为ASCII字符串,然后在目标系统上解码并执行

假设过滤器会过滤掉某些字符,可以使用Base64编码

$encoded_cmd = "Y2F0IC9mbGFn"; // Base64编码后的 "cat /flag"
$decoded_cmd = base64_decode($encoded_cmd);
system($decoded_cmd);

Hex编码绕过

Hex编码可以将命令编码为十六进制字符串,然后在目标系统上解码并执行

假设过滤器会过滤掉某些字符,可以使用Hex编码

$hex_cmd = "636174202f666c6167"; // Hex编码后的 "cat /flag"
$decoded_cmd = hex2bin($hex_cmd);
system($decoded_cmd);

回溯 绕过

回溯绕过通常用于绕过对某些字符或命令的直接过滤。通过构造复杂的表达式,让过滤器在解析时出现错误或绕过

假设过滤器会直接过滤掉 cat 命令,可以使用回溯绕过:

$cmd = "ca"."t /flag";
system($cmd);

无回显RCE

将执行结果输出到文件中,再访问文件

// 原始命令
$cmd = "ls -l";
// 绕过
$cmd = "ls -l > /tmp/output";
// 然后访问 /tmp/output 文件

无参数RCE

利用某些函数不需要参数的特性

// 原始命令
$cmd = "id";
// 绕过
$cmd = "id > /tmp/output";
无字母数字RCE

假设过滤器会过滤掉所有字母和数字,可以使用chr函数来生成目标命令

<?php
// 使用 chr 函数生成字符
$cmd = chr(99) . chr(97) . chr(116) . " " . chr(47) . chr(102) . chr(108) . chr(97) . chr(103);// 执行命令
system($cmd);
?>

代码解释:

<1>这里的char函数

chr函数用于生成指定ASCII值的字符;

例如:

  • chr(99) 生成字符 c

  • chr(97) 生成字符 a

  • chr(116) 生成字符 t

  • chr(47) 生成字符 /

  • chr(102) 生成字符 f

  • chr(108) 生成字符 l

  • chr(97) 生成字符 a

  • chr(103) 生成字符

 (其实就是从字符a开始,对应char(97),依次往后递增:b是char(98);c是char(99);d是char(100)...)

<2>字符串拼接

使用点 (.) 将生成的字符拼接成完整的命令字符串

<3>执行命令

使用system函数执行拼接后的命令

假设目标系统中有一个文件/flag,运行上述代码后,会输出/flag文件的内容

 总之通过使用chr函数生成字符,并通过字符串拼接构造命令,可以在不使用字母和数字的情况下实现无字母数字RCE。这种方法可以有效绕过严格的输入过滤器

理论完了接下来就是实践

【SWPUCTF 2021 新生赛】easyrce

查看源代码

可以看到源码使用了eval()函数接收GET传参的url参数(上面说过,eval()函数会将字符串作为php代码执行)

这样就比较简单了,只要题目没有对我们的输入内容进行严格的过滤,直接利用eval()函数执行php恶意代码就可以达到我们的目的

比如我现在利用phpinfo();语句查看php信息

可以看到PHP配置信息,说明服务器执行了phpinfo()函数(即上面所说代码执行函数

假如现在我再换一个系统命令执行函数(system()     命令:?url=system("ls -l");

可以看到列出了当前目录下的文件和文件夹 (即上面所说系统命令执行函数

那既然解题时是为了flag而来,就应该想想怎么利用这些东西来get flag

这里说一下这两个函数的区别:

system("ls /");

这个命令表示列出根目录下的文件和名称 ;

system("ls -l");

而这个命令表示的是以长格式列出当前工作目录下的文件目录详细信息

然后我刚刚用的是这个命令:system("ls -l");

回显这一串

这表示的是当前工作目录下只有一个文件index.php,还显示了该文件的详细信息:total 4 -rw-rw-r-- 1 root root 109 Oct 2 2021 (不用管它啥意思,只用知道它是index.php的详细信息)

那这样说的话假如我换命令system("ls /l"); 也就是列出根目录下的文件和名称, 回显肯定是不同的,那就执行一下看看:

可以看到回显出的根目录,其的确与回显当前工作目录文件名的命令不一样,这说明PHP脚本的当前工作目录不是根目录/),而是某个特定的目录,例如脚本所在的目录

这样也就提醒了我以后尽量先用找根目录的命令(system("ls /");),这样一层层往里剥

诶其中的flllllaaaaaaggggggg目录明显就是提醒flag所在,那就针对这个目录即可

然后由于比较简单,一 cat就出flag了(Linux的OS命令cat:显示文件内容)

相关文章:

Web三漏洞学习(其三:rce漏洞)

靶场&#xff1a;NSSCTF 三、RCE漏洞 1、概述 在Web应用开发中会让应用调用代码执行函数或系统命令执行函数处理&#xff0c;若应用对用户的输入过滤不严&#xff0c;容易产生远程代码执行漏洞或系统命令执行漏洞 所以常见的RCE漏洞函数又分为代码执行函数和系统命令执行函数…...

【人力资源管理系统】C#实现

软件项目实训报告2025版 第1部分 实训的目标与主要内容1.1 实训目标1.2 实训主要内容 第2部分 最终作品的完成情况2.1 课堂上要求的功能完成情况2.1.1 完成的功能及完成情况分析1. 建立数据库2. 登录界面3. MDI主窗体显示4. 登录日志功能5.员工列表查询功能 2.2 作业中要求的功…...

C#插件与可扩展性

外接程序为主机应用程序提供了扩展功能或服务。.net framework提供了一个编程模型,开发人员可以使用该模型来开发加载项并在其主机应用程序中激活它们。该模型通过在主机和外接程序之间构建通信管道来实现此目的。该模型是使用: System.AddIn, System.AddIn.Hosting, System.…...

【工具】gtest

在写代码的时候大家是怎么判断自己所写的程序运行有没有问题呢&#xff1f;可能是在程序中穿插打印数据&#xff0c;看比对数据是否有问题&#xff0c;这是传统的肉眼观察法。如果代码量并不大&#xff0c;数据量比较少的话是比较好用的。那在数据量庞大时&#xff0c;打印信息…...

力扣DAY56-59 | 热100 | 回溯:子集、电话号码的字母组合、组合总和、括号生成

前言 中等 √ 怒刷回溯&#xff0c;逐渐有了手感&#xff0c;重点就在于设计树复原状态sometimes剪枝。 子集 我的题解 全排列的基础上修改&#xff1a;1&#xff09;每个状态&#xff08;而不是size等于数组长度&#xff09;都加入答案数组中。2&#xff09;设置指针&…...

ChatUI vs Ant Design X 技术选型对比

引言 本文从核心功能、架构设计、易用性等维度对比分析阿里巴巴的 ChatUI 和 Ant Design 的 Ant Design X&#xff0c;帮助开发者选择适合的对话式 UI 开发方案。 核心功能对比 维度ChatUIAnt Design X定位聚焦对话界面&#xff08;Chatbot&#xff09;的轻量级解决方案全面的…...

第24周:Resnet结合DenseNet

目录 前言 一、 前期准备 1. 设置GPU 2.查看数据 二、构建模型 1.划分数据集 2.划分标签 3.编译及训练模型 三、结果可视化 四、总结 前言 &#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、 前期准备 1.…...

【论文阅读20】-CNN-Attention-BiGRU-滑坡预测

这篇论文主要探讨了基于深度学习的滑坡位移预测模型&#xff0c;结合了MT-InSAR&#xff08;多时相合成孔径雷达干涉测量&#xff09;观测数据&#xff0c;提出了一种具有可解释性的滑坡位移预测方法。 [1] Zhou C, Ye M, Xia Z, et al. An interpretable attention-based deep…...

Linux根据 PID 进行性能分析

根据 PID 进行性能分析 当需要深入分析某个特定进程的性能问题时&#xff0c;Linux 提供了多种强大的工具来监控和分析进程行为。以下是针对 PID 进行性能分析的完整方法&#xff1a; 1. 基础监控命令 1.1 top - 实时监控指定进程 top -p PID1,PID2,PID3 # 监控多个PID交互…...

Spring MVC 初体验~~

Java EE三层架构 在Java EE开发中&#xff0c;系统经典的三层架构包括表现层、业务层和持久层。三层架构中&#xff0c;每一层各司其职。 表现层&#xff08;Web层&#xff09;负责接收客户端请求&#xff0c;并向客户端响应结果 业务层&#xff08;Service层&#xff09;负责…...

2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(五级)真题

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;五级&#xff09; 分数&#xff1a;100 题数&#xff1a;38 答案解析&#xff1a;https://blog.csdn.net/qq_33897084/article/details/147341437 一、单选题(共25题&#xff0c;共50分) 1. 以下哪个选…...

警惕阿里云中的yum update操作不当导致:/sbin/init被清空导致Linux无法正常启动

由于使用阿里云进行部署测试&#xff0c;因而会对yum update进行操作&#xff0c;这两天更新了systemd-239-82.0.3.4.al8.2.x86_64&#xff0c;但存在报错&#xff0c;然后进行yum history undo和清空yum cache&#xff0c;但出现操作Linux命令行无效。具体来说&#xff0c;几个…...

使用Selenium和Python实现Web抓取指南

1. 环境准备 安装Selenium库 bash 复制 pip install selenium 下载浏览器驱动&#xff08;以Chrome为例&#xff09; 下载对应浏览器版本的驱动&#xff1a; ChromeDriver: https://chromedriver.chromium.org/downloads 将驱动文件&#xff08;如chromedriver.exe&…...

避免IP地址关联,多个手机设备的完美公网IP问题

在现代工作室中&#xff0c;手机设备的数量常常多于一个&#xff0c;为了方便管理和使用&#xff0c;通常会将这些设备连接到同一个Wi-Fi网络。这样的做法看似无害&#xff0c;却隐藏着一个普遍而被忽视的问题&#xff1a;多个手机共用同一个公网IP。这个看似技术性的细节&…...

深入浅出 MVCC:MySQL 并发背后的多版本世界

&#x1f4cc; 一句话理解 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;&#xff1a; MVCC 指的是多版本并发控制&#xff0c;MVCC 通过为每个事务提供数据的快照版本&#xff0c;让读取操作无需加锁&#xff0c;从而实现高并发的同时&#xff0c;又能维持…...

鸿蒙-跨设备互通,设备互通提供跨设备的相机、扫描、图库访问能力,平板或2in1设备可以调用手机的相机、扫描、图库等功能。

跨设备互通 跨设备互通提供跨设备的相机、扫描、图库访问能力&#xff0c;平板或2in1设备可以调用手机的相机、扫描、图库等功能。 约束与限制 需同时满足以下条件&#xff0c;才能使用该功能&#xff1a; 设备限制 本端设备&#xff1a;HarmonyOS版本为HarmonyOS NEXT及以上…...

C#进阶学习(六)单向链表和双向链表,循环链表(下)循环链表

目录 &#x1f4ca; 链表三剑客&#xff1a;特性全景对比表 一、循环链表节点类 二、循环链表的整体设计框架 三、循环列表中的重要方法&#xff1a; &#xff08;1&#xff09;头插法&#xff0c;在头结点前面插入新的节点 &#xff08;2&#xff09;尾插法实现插入元素…...

Spring Boot配置文件优先级全解析:如何优雅覆盖默认配置?

&#x1f4da; 一、为什么需要了解配置文件优先级&#xff1f; 想象一下&#xff0c;你正在玩一个游戏&#x1f3ae;&#xff0c;游戏里有默认设置&#xff0c;但你可以通过不同的方式修改这些设置&#xff1a; 游戏内置的默认设置&#xff08;就像Spring Boot的默认配置&…...

【多目标进化算法】NSGA-II 算法(结合例子)

目录 一、NSGA-II 是干什么的? 二、通过一个简单例子来解释 例子:挑选手机 三、NSGA-II 解决步骤 1. 初始化种群 2. 非支配排序(Fast Non-dominated Sorting) 3. 拥挤度距离(Crowding Distance) 4. 选择 + 交叉 + 变异 5. 合并种群、排序、更新 四、最后结果(…...

【Spring Boot】把jar包导入本地系统

【Java】把jar包导入本地maven仓库 一、方法一&#xff1a;将 JAR 添加到项目本地的 libs/ 目录二、方法二&#xff1a;把 JAR 安装到本地 Maven 仓库&#xff08;推荐&#xff09;三、查看是否安装成功&#xff08;1&#xff09;直接用文件管理器/终端查看&#xff08;2&#…...

钧瓷收藏防坑指南:如何科学评估与理性收藏

关注大禹智库及时接收干货报告和视频 大禹智库 第 8期〔总第462期〕2025-4-17 一、价格敏感背后的收藏心理 每次钧瓷估价速算表的更新都会引发收藏圈的热议&#xff0c;这反映出藏家最核心的关切&#xff1a;“买得值不值&#xff1f;” 即便对部分藏家而言价格并非首要因素…...

CrewAI Community Version(一)——初步了解以及QuickStart样例

目录 1. CrewAI简介1.1 CrewAI Crews1.2 CrewAI Flows1.3 Crews和Flows的使用情景 2. CrewAI安装2.1 安装uv2.2 安装CrewAI CLI 3. 官网QuickStart样例3.1 创建CrewAI Crews项目3.2 项目结构3.3 .env3.4 智能体角色及其任务3.4.1 agents.yaml3.4.2 tasks.yaml 3.5 crew.py3.6 m…...

Vue 3.0 Composition API 与 Vue 2.x Options API 的区别

引言 Vue 作为一款流行的 JavaScript 框架&#xff0c;经历了多个版本的迭代。Vue 2.x 时期&#xff0c;Options API 是主要的开发方式&#xff1b;而到了 Vue 3.0&#xff0c;引入了 Composition API。这两种 API 风格各有特点&#xff0c;理解它们的区别对于开发者来说至关重…...

江苏广电HC2910-创维代工-Hi3798cv200-2+8G-海美迪安卓7.0-强刷包

江苏广电HC2910-创维代工-Hi3798cv200-28G-海美迪安卓7.0-强刷包 说明 1、由于原机的融合网关路由不能设置&#xff0c;原网口无法使用&#xff0c;需要用usb2.0的RJ45usb网卡接入。 通过usb接口网卡联网可以实现百兆网口连接。原机usb3.0的接口可以以接入硬盘&#xff0c;播放…...

clickhouse数据导出导入

clickhouse数据导出导入 CSV格式导出为csv格式导入为csv格式 JSON格式导出为json格式导入为json格式 SQL格式导出为SQL CSV格式 导出为csv格式 # 不带表头 clickhouse-client -h 127.0.0.1 --database"db" --query"select * from db.test_table FORMAT CSV&qu…...

GPU 在机器学习中的应用优势:从技术特性到云端赋能

一、引言&#xff1a;当机器学习遇见算力革命​ 在人工智能浪潮席卷全球的今天&#xff0c;机器学习已从实验室走向商业落地的核心战场。随着深度神经网络模型复杂度呈指数级增长&#xff08;如 GPT-4 参数量突破万亿级&#xff09;&#xff0c;以及数据规模迈向 ZB 级别&…...

C++: 类和对象(中)

&#x1f4d4;个人主页&#x1f4da;&#xff1a;秋邱-CSDN博客 ☀️专属专栏✨&#xff1a;C &#x1f3c5;往期回顾&#x1f3c6;&#xff1a;C: 类和对象&#xff08;上&#xff09; &#x1f31f;其他专栏&#x1f31f;&#xff1a;C语言_秋邱 ​ 类的默认成员函数 构造…...

基于slimBOXtv 9.16 V2-晶晨S905L3A/ S905L3AB-Mod ATV-Android9.0-线刷通刷固件包

基于slimBOXtv 9.16 V2-晶晨S905L3A&#xff0f; S905L3AB-Mod ATV-Android9.0-线刷通刷固件包&#xff0c;基于SlimBOXtv 9 修改而来&#xff0c;贴近于原生ATV&#xff0c;仅支持晶晨S905L3A&#xff0f; S905L3AB芯片刷机。 适用型号&#xff1a;M401A、CM311-1a、CM311-1s…...

Rocky8 升级 Python 3.9.20 并部署 Airflow 2.10.5

Rocky8 升级 Python 3.9.20 并部署 Airflow 2.10.5 1.系统环境配置1.1Python安装1.2 Airflow 配置1.2.1 基础配置1.2.2 新建数据库1.2.3 配置文件 airflow.cfg 1.3 安装 Airflow 2.Airflow 测试1.启动定时器2.登录系统3.自定义流3.1测试流 1.系统环境配置 # 系统版本查看 cat …...

基础智能体的进展与挑战第 3 章【记忆】

目录 第三章记忆3.1 人类记忆概述3.1.1 人类记忆的类型3.1.2 人类记忆模型 3.2 从人类记忆到智能体记忆3.3 智能体记忆的表示3.3.1 感知记忆3.3.2 短期记忆3.3.3 长期记忆 3.4 记忆生命周期3.4.1 记忆获取3.4.2 记忆编码3.4.3 记忆衍生3.4.4 记忆检索与匹配3.4.5 神经记忆网络3…...

Docker 容器与镜像核心操作命令大全(实战指南)

Docker 容器与镜像核心操作命令大全&#xff08;实战指南&#xff09; 摘要&#xff1a;本文全面整理 Docker 容器与镜像管理的高频操作命令&#xff0c;涵盖容器生命周期管理、镜像构建技巧、网络配置、文件挂载等场景&#xff0c;并附赠企业级高级用法。适用于开发、测试及生…...

见多识广3:帕累托最优解与帕累托前沿

目录 前言定义特点应用场景求解算法总结 前言 这里的知识都是kimi告诉我的&#xff0c;我主要记录一下。 定义 帕累托最优解&#xff1a;在多目标优化问题中&#xff0c;如果一个解在某个目标上优于另一个解&#xff0c;而在其他目标上至少不比另一个解差&#xff0c;那么这…...

遥感技术赋能电力设施监控:应用案例篇

目前主流的电力巡检手段利用无人机能够通过设定灵活航线进行低空飞行、搭载不同的采集设备&#xff0c;能够从不同角度对输电线进行贴近拍摄&#xff0c;但缺陷是偏远山区无人机飞行技术要求高&#xff0c;成本高&#xff0c;且飞行的无人机也可能会对输电线产生破坏。 星图云开…...

Docker容器虚拟化存储架构

本文主要描述Docker容器引擎中运行的应用如何持久化地存储数据。 如上所示&#xff0c;Docker容器引擎的总体应用架构图&#xff0c;包括Docker客户端应用、Docker Host服务端应用以及Docker Registry镜像仓库端应用。其中&#xff0c;Docker Host服务端应用包括Docker daemon容…...

Silverlight发展历程(微软2021年已经停止支持Silverlight 5)

Microsoft Silverlight 发展历程 引言 Microsoft Silverlight 是微软在 Web 多媒体和富互联网应用 (RIA) 领域的一次重要尝试&#xff0c;它从诞生到消亡的过程折射出了 Web 技术发展的变迁和行业格局的演变。本文将详细回顾 Silverlight 的完整发展历程&#xff0c;探讨其技…...

“星睿O6” AI PC开发套件评测 - 部署PVE搭建All in One NAS服务器

Radxa O6平台上部署PVE搭建All in One NAS服务器 Radxa O6是一款性能卓越的单板计算机&#xff0c;其强劲的硬件配置和多样化的接口设计&#xff0c;使其成为家庭和小型企业理想的All in One服务器解决方案。值得一提的是&#xff0c;O6原生配备了两个5G网口&#xff0c;便于直…...

【路由交换方向IE认证】BGP选路原则之AS-Path属性

文章目录 一、路由器BGP路由的处理过程控制平面和转发平面选路工具 二、BGP的选路顺序选路的前提选路顺序 三、AS-Path属性选路原则AS-Path属性特性AS-Path管进还是管出呢&#xff1f;使用AS-Path对进本AS的路由进行选路验证AS-Path不接收带本AS号的路由 四、BGP邻居建立配置 一…...

《软件设计师》复习笔记(14.3)——设计模式

目录 一、设计模式分类 1. 创建型模式&#xff08;Creational Patterns&#xff09; 2. 结构型模式&#xff08;Structural Patterns&#xff09; 3. 行为型模式&#xff08;Behavioral Patterns&#xff09; 真题示例&#xff1a; 一、设计模式分类 架构模式 高层设计决…...

Windows10,11账户管理,修改密码,创建帐户...

在这里&#xff0c;我们使用微软操作系统的一款工具:netplwiz 它可以非常便捷的管理用户账户. 一:修改密码(无需现在密码) 01修改注册表 运行命令&#xff1a;regedit 在地址栏输入&#xff1a; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Passwor…...

数据类型相关问题导致的索引失效 | OceanBase SQL 优化实践

背景 针对在OceanBase 论坛中遇到的一些典型SQL调优问题&#xff0c;进行记录与总结&#xff0c;分享给大家。本文介绍的事3个场景&#xff1a;数据类型不匹配、字符集相关属性不匹配&#xff0c;和过滤/联接条件上包含系统函数。 场景一&#xff1a;数据类型不匹配 类型不匹…...

银行卡风险画像在社交行业网络安全的应用

据中国支付清算协会统计&#xff0c;2023年银行卡欺诈案件造成的经济损失同比增长21%&#xff0c;而社交平台中超过35%的诈骗行为涉及金融账户盗用。本文将讲述如何使用风险画像技术助力社交网络安全。 银行卡风险画像的核心逻辑 银行卡风险画像是通过多维度数据分析构建的用…...

C++程序设计基础实验:C++对C的扩展特性与应用

C程序设计基础实验&#xff1a;C对C的扩展特性与应用 &#x1f525; 本文详细讲解C基础实验&#xff0c;包含C对C语言的扩充与增强特性&#xff0c;从零开始掌握函数重载、引用、指针等核心概念&#xff0c;附详细代码分析与运行结果。适合C初学者和有C语言基础想学习C的同学&a…...

极狐GitLab 外部授权控制机制是怎样的?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 外部授权控制 (BASIC SELF) 在高度控制的环境中&#xff0c;访问策略可能需要由外部服务控制&#xff0c;该服务允许基于项目…...

告别Feign:基于Spring 6.1 RestClient构建高可用声明式HTTP客户端

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

极狐GitLab 项目和群组的导入导出速率限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 项目和群组的导入导出速率限制 (BASIC SELF) 您可以为项目和群组的导入和导出配置速率限制&#xff1a; 更改速率限制&#…...

中华传承-医山命相卜-铁板神数

铁板神数 子平法 子平法 徐子平 倪海夏 一月&#xff08;公历2025年1月29日-2025年2月27日&#xff09; 运势&#xff1a;事业开局不利&#xff0c;难以快速适应工作节奏&#xff0c;可能面临上级的质疑或竞争压力。财富方面容易财来财去&#xff0c;需留意理财陷阱。 原因&…...

C++学习:六个月从基础到就业——面向对象编程:接口设计

C学习&#xff1a;六个月从基础到就业——面向对象编程&#xff1a;接口设计 本文是我C学习之旅系列的第十五篇技术文章&#xff0c;重点讨论在C中进行接口设计的原则、技术和最佳实践。查看完整系列目录了解更多内容。 引言 在面向对象的软件开发中&#xff0c;良好的接口设计…...

工作总结(十二)——迁移svn单项目到gitlab上,保留历史提交记录

文章目录 前言一、目的二、操作步骤1.创建项目库2.复制历史提交者账号3.复制待迁移项目以及历史记录4.push到gitlab远程仓库 总结 前言 本系列文章主要记录工作中一些需要记录的内容 一、目的 因为一些原因&#xff0c;我需要将svn库上的某个项目迁移到公司的gitlab库管理平台…...

PS中制作一张扣洞贴图

要在PS制作如下一张贴图&#xff0c;如下图所示 步骤&#xff1a; 1.首先复制一张图层 2.将最底层图层的透明度调整为0 3.选择画笔的模式为清除 4.设置画笔大小 5.选中需要清除的图层&#xff0c;然后就可以将图层的像素点清除了 6.导出成PNG文件即可 注&#xff1…...

STM32 HAL库 Freertos创建多任务

1. 引言 STM32F407 是 ST 公司推出的一款高性能微控制器&#xff0c;具有丰富的外设资源和强大的处理能力。HAL&#xff08;Hardware Abstraction Layer&#xff09;库是 ST 为其微控制器提供的硬件抽象层&#xff0c;它简化了硬件操作&#xff0c;提高了开发效率。FreeRTOS 是…...