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

云曦月末断网考核复现

Web

先看一个BUUCTF中的文件一个上传题

[BUUCTF] 2020新生赛 Upload

打开后是一个文件上传页面

随便上传一个txt一句话木马后出现js弹窗,提示只能上传图片格式文件

说明有前端验证。我的做法是把一句话改为.jpg格式,

然后上传

访问发现虽然上传成功了,但无法解析

当然图片麻烦也无法进行解析,上传无效

然后尝试抓包上传绕过js前端验证后修改后缀名

然后修改数据包

改后缀 (因为是黑盒测试,不知道过滤源码,只能一个个尝试修改了各种后缀,(php1、php2、php3、php4、php5、phps、pht、phtm)但都上传失败,直到最后发现phtml后缀才可以上传成功的同时能被解析)

然后放行,上传成功得到路径

新建网页,把原环境url与得到的图片路径拼接访问,发现是空白页

这里还记得一句话木马上传的参数不? 我的是a  

用post传参php语句,验证是否可执行php语句  上传后发现能解析

接下来就可以蚁剑连接

连接成功后添加

进入目录文件找到flag

 

其实云曦月末考核的文件上传和这题就是一样的(好后悔假期的时候以为这题简单没做。。)

ez_upload

启动靶机后任然只允许上传图片文件

那就改木马后缀名来绕过前端验证(制作图片马也可以)然后抓包上传

修改数据包

放行后上传成功,得到文件路径

同样的,拼接url访问成功得到空白页面

 验证是否可执行php语句  

发现能解析

那就可以连蚁剑

连接成功后添加数据

最后打开目录搜寻flag即可

ez_ssrf

看题目这题需要先了解ssrf

SSRF(服务器端请求伪造)漏洞解析

定义

SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种安全漏洞,攻击者通过精心构造的请求,诱使服务器端发起对指定目标的网络请求。这种漏洞通常用于访问从外网无法直接访问的内部系统

原理

SSRF漏洞的形成原因主要是服务端提供了从其他服务器获取数据的功能,但没有对目标地址、协议等进行严格的过滤和限制。例如,应用可能允许用户输入URL来获取内容,但未对输入进行验证,导致攻击者可以构造恶意URL,使服务器访问内网或外部的任意资源

攻击方式

内网攻击:攻击者可以利用SSRF漏洞访问内网资源,如数据库内部服务

端口扫描:通过向不同端口发送请求判断端口是否开放

文件读取:利用file://协议读取服务器本地文件

其他协议利用:如gopher://dict://等协议,可用于执行特定的攻击

例如

假设一个应用允许用户输入URL来加载内容,但未对输入进行验证。攻击者可以构造如下URL:

http://example.com/load?url=http://192.168.1.100:6379/

这可能导致服务器访问内网的Redis服务(就是一个开源的数据库),从而引发一些安全问题,当然,这也意味着在ctf中可以利用它获取flag(攻击内网系统、读取敏感文件、执行恶意操作)

ssrf的常见利用方式

内网端口扫描和主机存活探测

利用SSRF漏洞,攻击者可以扫描内网的开放端口,探测内网主机的存活情况。例如,通过构造http://192.168.1.1:80等请求,检查内网主机的80端口是否开放(其实和上面说的差不多)

攻击内网应用

利用file://协议,攻击者可以读取服务器本地文件。例如,通过构造file:///etc/passwd等请求,读取服务器的/etc/passwd文件(也和上面说的一样)

利用伪协议进行攻击

SSRF漏洞可以结合多种伪协议进行攻击,如gopher://dict://等。例如,gopher://协议可以发送GETPOST请求,攻击内网的RedisMySQL等服务

绕过限制

当SSRF漏洞存在限制时,攻击者可以利用多种绕过技巧,如短网址进制转换DNS解析等。例如,通过http://127.0.0.1的十进制形式http://2130706433或十六进制形式http://0x7F000001绕过IP限制

接下来看这题

源码

 <?php
highlight_file(__FILE__);//flag在/flag路由中if (isset($_GET['url'])){$url = $_GET['url'];if (strpos($url, 'http://127.0.0.1') !== 0){echo json_encode(["error" => "Only http://127.0.0.1 URLs are allowed"]);exit;}$host = parse_url($url, PHP_URL_HOST);$ip = gethostbyname($host);$forbidden_ips = ['127.0.0.1', '::1'];if (in_array($ip, $forbidden_ips)){echo json_encode(["error" => "Access to localhost or 127.0.0.1 is forbidden"]);exit;}$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_USERAGENT, 'curl/7.68.0');$response = curl_exec($ch);if (curl_errno($ch)){echo json_encode(["error" => curl_error($ch)]);} else {echo $response;}curl_close($ch);
} else {echo json_encode(["error" => "Please provide a 'url' parameter"]);
}
?>
{"error":"Please provide a 'url' parameter"}

进行代码审计

前面的引入高亮函数啥的就不用说了

算了再记一下也没什么不好的

highlight_file(__FILE__); 会显示当前脚本的源代码,并对其进行语法高亮。这通常用于调试,方便查看代码结构

然后检查是否有get参数传入

if (isset($_GET['url'])){$url = $_GET['url'];

if (strpos($url, 'http://127.0.0.1') !== 0){echo json_encode(["error" => "Only http://127.0.0.1 URLs are allowed"]);exit;} 

strops()是一个在PHP中用于查找字符串中字符或子字符串第一次出现位置的函数

即验证URL必须以http://127.0.0.1开头,否则报错

$host = parse_url($url, PHP_URL_HOST);$ip = gethostbyname($host); 

解析URL的主机名并获取其IP地址

$forbidden_ips = ['127.0.0.1', '::1'];if (in_array($ip, $forbidden_ips)){echo json_encode(["error" => "Access to localhost or 127.0.0.1 is forbidden"]);exit;} 

 设置了一个黑名单用于禁止访问127.0.0.1::1(本地回环地址)

分析下来就可以利用URL的解析差异来绕过(特殊构造的URL可能被parse_url和gethostbyname解析不一致)

比如这里利用0.0.0.0或localhost别名(localhost可以解析为127.0.0.1或::1(IPv6),但这个被过滤了绕不过。)

利用0.0.0.0

因为某些系统配置中0.0.0.0等同于127.0.0.1,

  • 在服务器监听时:表示监听所有可用的网络接口

  • 在客户端连接时:通常会被解析为127.0.0.1(回环地址)

  • 在某些系统上:直接访问0.0.0.0会被重定向到localhost

如果我构造一个url参数值由三部分组成来绕过:

http://127.0.0.1(用于满足开头的检查

:80@ (相当于“密码”的占位符

0.0.0.0 (实际连接的主机)

既然是为了flag而来那就应该是cat flag,所以加/flag

所以总的url参数值就是

http://127.0.0.1:80@0.0.0.0/flag

访问得到flag

至于为什么要这么构造:

http://127.0.0.1是为了满足strpos()的检查,规定url参数必须以这个开头

重点是:80@  因为基本的URL结构就需要“ 密码”

一个包含认证信息的URL标准格式

http://username:password@hostname/path

 而这题根据需要给它构造成这样

http://127.0.0.1:80@0.0.0.0/flag

也就是

  • 127.0.0.1 被解析为"用户名"

  • 80 被解析为"密码"

  • 0.0.0.0 才是真正的主机

  • /flag 是路径

:80@ 其实就是为了改变了URL的实际含义,也为了影响parse_url解析

gethostbyname() 会解析 host 部分(即0.0.0.0),实际请求时cURL会连接到0.0.0.0,而系统通常会将0.0.0.0视为localhost

80是HTTP默认端口增加可信度 。作为"密码"部分,它只是占位符,实际值不重要,其实也可以换成其他端口号,比如换为88

99

但80最不容易引起怀疑,还是用80的好一点

别的也不用多解释,因 user:pass@host标准URL格式

但做的时候发现冒号打多了一个也没有影响

 Misc

流量分析1

就第一个题有附件,后面的通用

下载后选择打开方式

010打开发现文件头是PK,典型的压缩包格式,所以先改一下后缀

全部解压缩后得到流量包

打开后进入winshark

这次要记住后缀为pcpng就是流量包了

这也是最近才了解到,比如前两天云大的Cloudever比赛就遇到

回到这里记得题目是获取抓取流量包所需要的秒数

 进入统计>>捕获文件属性

可以看到经过的时间

但要注意题目要求的是秒数,转换一下就可以了

 流量分析2

第二题要求的是找计算机抓取流量包时操作系统的build版本

这不就在刚刚的位置吗

题目要求flag格式为10D32,所以应该就是23F79,用Yunxi{}包裹即可

流量分析3

同样先看题目要求

要IP地址,打开协议分级,就会发现两个IP

查看http协议后有两个ip

192.168.75.131

192.168.75.132

试了以后发现131是正确的

流量分析4

受害者的操作系统是什么

相关文章:

云曦月末断网考核复现

Web 先看一个BUUCTF中的文件一个上传题 [BUUCTF] 2020新生赛 Upload 打开后是一个文件上传页面 随便上传一个txt一句话木马后出现js弹窗&#xff0c;提示只能上传图片格式文件 说明有前端验证。我的做法是把一句话改为.jpg格式&#xff0c; 然后上传 访问发现虽然上传成功了…...

SQL Server AlwaysOn (SQL 查询数据详解及监控用途)

修正后的完整查询 SELECT ar.replica_server_name AS [副本名称],ar.availability_mode_desc AS [同步模式],DB_NAME(dbr.database_id) AS [数据库名称],dbr.database_state_desc AS [数据库状态],dbr.synchronization_state_desc AS [同步状态],dbr.synchronization_health_d…...

使用 Q - learning 算法解决迷宫路径规划问题

整体功能概述 这段 Python 代码实现了一个使用 Q - learning 算法解决迷宫路径规划问题的程序。智能体在给定的迷宫环境中学习如何找到从起点到终点的最优路径&#xff0c;以获得最大奖励。 模块导入 python import numpy as np import randomnumpy&#xff1a;用于处理数组…...

SqlYog无限试用方法

1、WinR ,输入 &#xff1a;regedit 回车 2、进入注册表&#xff0c;在 \HEYK_CURRENT_USER\Software\{*********-D8CE-4637-9BC7-93E************}下的【InD100】保存着SQLyog的使用天数 3、在【InD】上右键&#xff0c;点击删除该项&#xff0c;在重启SQLyog后注册表中会重…...

14 nginx 的 dns 缓存的流程

前言 这个是 2020年11月 记录的这个关于 nginx 的 dns 缓存的问题 docker 环境下面 前端A连到后端B 前端B连到后端A 最近从草稿箱发布这个问题的时候, 重新看了一下 发现该问题的记录中仅仅是 定位到了 nginx 这边的 dns 缓存的问题, 但是 并没有到细节, 没有到 具体的 n种…...

Spring Cloud Gateway 具体的实现案例

文章目录 前言✅ 1. **创建 Spring Boot 项目**Maven 依赖&#xff1a;Gradle 依赖&#xff1a; ✅ 2. **配置 application.yml 路由和过滤器**解释&#xff1a; ✅ 3. **创建自定义过滤器**3.1 **前置过滤器&#xff08;Pre Filter&#xff09;**3.2 **后置过滤器&#xff08;…...

css易混淆的知识点

子选择器 (>) vs 后代选择器 (空格) 子选择器 (>) 只匹配直接子元素。后代选择器 (空格) 匹配所有后代元素&#xff08;无论嵌套多深&#xff09;。 绝对定位vs相对定位 布局&#xff1a; justify-content 的作用 控制子元素在主轴上的分布方式。常见值包括 flex-start、…...

OpenCV 图形API(27)图像滤波-----膨胀函数dilate()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用特定的结构元素膨胀图像。 cv::gapi::dilate 是 OpenCV G-API 模块中的一个函数&#xff0c;用于对图像执行膨胀操作。膨胀是一种形态学操作…...

13. Git 远程仓库配置

基本步骤 以Gitee为例子&#xff0c;GitHub的步骤也基本一致 1.注册/登录 Gitee 账号 https://gitee.com/ 2.新建仓库 3.配置仓库 根据自己的喜好&#xff0c;配置即可。 4.生成SSH密钥 ssh-keygen -t ed25519 -C "你的邮箱example.com"-t ed25519&#xff1a;使…...

语音识别——根据声波能量、VAD 和 频谱分析实时输出文字

ASR(语音识别)是将音频信息转化为文字的技术。在实时语音识别中,一个关键问题是:如何决定将采集的音频数据输入大模型的最佳时机?固定时间间隔显然不够灵活,太短可能导致频繁调用模型,太长则会延迟文字输出。有没有更智能的方式?答案是肯定的。 一种常见的解决方案是使…...

netty中的ChannelHandler详解

Netty中的ChannelHandler是网络事件和数据处理的核心执行单元,负责处理I/O事件(如连接建立、数据读写)以及业务逻辑的实现。它通过ChannelPipeline形成责任链,实现事件的动态编排与传播。以下从功能分类、核心机制到实际应用进行详细解析: 1. ChannelHandler的核心功能与分…...

介绍一下freertos

FreeRTOS 是一款‌开源的实时操作系统&#xff08;RTOS&#xff09;‌&#xff0c;专为嵌入式系统和微控制器设计&#xff0c;以‌轻量级、高可靠性、低延迟‌著称。它广泛应用于物联网&#xff08;IoT&#xff09;、工业自动化、消费电子等领域。以下是详细介绍&#xff1a; ‌…...

使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录

使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录 功能概述 克魔助手无需越狱即可访问iOS上各个应用程序的历史记录&#xff0c;包括&#xff1a; 最近几个月的app的详细启动时间记录&#xff0c;结束时间&#xff0c;app使用的硬件组件应用的耗能具体情况&#xff…...

mysql和mongodb

1.mongodb 写入更快&#xff0c;数据结构频繁更新&#xff0c;这个不方便工程管理.另外会序列化成json格式&#xff0c;比如为json的成员建立索引&#xff0c;这都是比较损耗性能。字段太多&#xff0c;moondbjson名太多&#xff0c;导致数据冗余, moongodb频繁按字段更新&…...

介绍一下 ChibiOS

ChibiOS 是一款专为嵌入式系统设计的‌开源实时操作系统&#xff08;RTOS&#xff09;‌&#xff0c;以其‌硬实时性能、轻量化架构和高可移植性‌著称。它广泛应用于无人机、机器人、工业控制等领域&#xff0c;尤其在无人机飞控&#xff08;如 ArduPilot 的某些硬件平台&…...

《Vue Router实战教程》3.动态路由匹配

欢迎观看《Vue Router 实战&#xff08;第4版&#xff09;》视频课程 动态路由匹配 带参数的动态路由匹配 很多时候&#xff0c;我们需要将给定匹配模式的路由映射到同一个组件。例如&#xff0c;我们可能有一个 User 组件&#xff0c;它应该对所有用户进行渲染&#xff0c;…...

NLP高频面试题(四十)——什么是 BitFit?

BitFit(Bias-term Fine-tuning)是一种参数高效的微调方法,专注于在预训练模型中仅调整偏置项(bias term),而将其他参数保持不变。这种方法在自然语言处理领域,尤其是在中小规模数据集上,展现出了与全量微调相媲美的性能,同时显著减少了计算资源的消耗。 什么是 BitFi…...

react+Tesseract.js实现前端拍照获取/选择文件等文字识别OCR

需求背景 在开发过程中可能会存在用户上传一张图片后下方需要自己识别出来文字数字等信息&#xff0c;有的时候会通过后端来识别后返回&#xff0c;但是也会存在纯前端去识别的情况&#xff0c;这个时候就需要使用到Tesseract.js这个库了 附Tesseract.js官方&#xff08;htt…...

go:实现最简单区块链

1.新建文件夹命名为blockchain,在此文件夹下分别创建两个文件一个为block.go另一个为chain.go如下图所示: 2.写入代码: block.go package blockchainimport ("bytes""crypto/sha256""encoding/gob""log""strconv""ti…...

使用Python写入JSON、XML和YAML数据到Excel文件

在当今数据驱动的技术生态中&#xff0c;JSON、XML和YAML作为主流结构化数据格式&#xff0c;因其层次化表达能力和跨平台兼容性&#xff0c;已成为系统间数据交换的通用载体。然而&#xff0c;当需要将这类半结构化数据转化为具备直观可视化、动态计算和协作共享特性的载体时&…...

如何使用通义灵码玩转Linux - AI编程助手提升效率

一、引言 Linux 作为服务器常用的操作系统&#xff0c;其命令行界面、繁多的命令以及需要进行的配置等&#xff0c;都给初学者带来了不小的挑战。为了帮助初学者快速上手 Linux&#xff0c;本文将介绍如何使用通义灵码这一智能编码助手&#xff0c;提升在 Linux 环境下的开发效…...

主服务器和子服务器之间通过NFS实现文件夹共享

背景&#xff1a; 子服务器想做一个备份服务器 但是之前有很多文件是上传到本地的&#xff0c;于是服务要从本地读取文件 但是在不在同一台服务器中&#xff0c;读取就会有问题&#xff0c;想 实现在两者之间创建一个共享文件夹 一 NFS挂载步骤&#xff1a; 在主服务器&#…...

前端知识点---防抖(javascript)

什么是防抖 ? 防抖:单位时间内&#xff0c;频繁触发事件&#xff0c;只执行最后一次 举例: 百度输入框, 输入一个字母下面就会有提示 输入第二个字母下面的提示就会变 而别的浏览器只有在你输入结束之后才出现提示, 这就是做了防抖处理 使用场景: 搜索框搜索输入。只需用户…...

django rest framework相关面试题

django rest framework相关面试题 1.什么是restful规范 link link link link...

突破性能瓶颈:Java微服务多任务管理的架构设计与实践

摘要 本文深度解析Java微服务架构下的多任务管理机制&#xff0c;围绕串行任务、并行任务及跨服务器协同三大核心场景&#xff0c;结合线程池、任务队列、分布式调度算法等关键技术&#xff0c;探讨如何通过精细化的任务拆分、资源调度和容错设计实现系统高吞吐与低延迟。 关…...

为啥物联网用MQTT?

前言 都说物联网用MQTT&#xff0c;那分别使用Http和Mqtt发送“Hello”&#xff0c;比较一下就知道啦 HTTP HTTP请求报文由请求行、头部字段和消息体组成。一个最简单的HTTP POST请求如下&#xff1a; POST / HTTP/1.1 Host: example.com Content-Length: 5 Content-Type: …...

onenote的使用技巧以及不足之处

OneNote我用了三年了&#xff0c;感觉这软件还是记一些手写笔记会比较好吧&#xff0c;记和编程有关的就显然不如markdown了&#xff0c; 插入公式&#xff1a; 按alt输入公式&#xff0c;再按退出公式输入 不足之处&#xff1a; onenote是我用了很长时间的一款笔记软件&…...

人工智能在医疗设备中的最新应用案例与技术挑战?

人工智能&#xff08;AI&#xff09;在医疗设备中的应用正以前所未有的速度发展&#xff0c;带来了许多创新和改进。以下是一些最新的应用案例和相关的技术挑战&#xff1a; 最新应用案例 智能诊断和成像&#xff1a; AI技术在医学影像分析中得到了广泛应用。通过深度学习算法…...

TDengine 语言连接器(Rust)

简介 taos 是 TDengine 的官方 Rust 语言连接器&#xff0c;Rust 开发人员可以通过它开发存取 TDengine 数据库的应用软件。 该 Rust 连接器的源码托管在 GitHub。 Rust 版本兼容性 支持 Rust 1.70 及以上版本。 支持的平台 原生连接支持的平台和 TDengine 客户端驱动支持…...

Leetcode 58. 最后一个单词的长度

给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1&#xff1a; 输入&#xff1a;s "Hello World" 输出&#xff1a;5…...

如何使用CAPL解析YAML文件?

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…...

如何让老电脑运行快些(极限榨干老电脑硬件)

要让老电脑运行更快&#xff0c;可以通过增加虚拟内存、优化系统设置和硬件升级等方法实现。以下是具体建议&#xff1a; 1. 增加虚拟内存&#xff08;适合硬盘空间大的老电脑&#xff09; 虚拟内存&#xff08;页面文件&#xff09;是硬盘上的一部分空间&#xff0c;用于扩展…...

C++在嵌入式中表现如何?

C在嵌入式中表现如何&#xff1f; 作为一个从机械转行到嵌入式开发的老兵&#xff0c;我深深体会到了C在嵌入式领域的独特魅力与挑战。从最初在厦门某马写单片机代码时的纯C语言&#xff0c;到后来在世界500强外企开发汽车电子项目时大量使用C&#xff0c;这些年的经历让我对这…...

Elasticsearch 系列专题 - 第四篇:聚合分析

聚合(Aggregation)是 Elasticsearch 的强大功能之一,允许你对数据进行分组、统计和分析。本篇将从基础到高级逐步讲解聚合的使用,并结合实际案例展示其应用。 1. 聚合基础 1.1 什么是聚合(Aggregation)? 聚合是对文档集合的统计分析,类似于 SQL 中的 GROUP BY 和聚合…...

TensorFlow充分并行化使用CPU

关键字&#xff1a;TensorFlow 并行化、TensorFlow CPU多线程 场景&#xff1a;在没有GPU或者GPU性能一般、环境不可用的机器上&#xff0c;对于多核CPU&#xff0c;有时TensorFlow或上层的Keras默认并没有完全利用机器的计算能力&#xff08;CPU占用没有接近100%&#xff09;…...

JAVA Web_定义Servlet_1 欢迎考生

题目 假定&#xff1a;本地服务器&#xff08;127.0.0.1&#xff09;上有一名为jspExam的Web项目&#xff0c;现按要求定义一Servlet&#xff0c;实现以下功能&#xff1a; 1&#xff09;Servlet的类名自定义&#xff0c;假定可以用以下url访问该Servlet, http://127.0.0.1:80…...

鸿蒙NEXT开发Emitter工具类(ArkTs)

import { emitter } from kit.BasicServicesKit;/*** TODO Emitter工具类&#xff08;进行线程间通信&#xff09;* author: 鸿蒙布道师* since: 2025/04/11*/ export class EmitterUtil {/*** 发送事件* param eventId 事件ID&#xff0c;string类型的eventId不支持空字符串。…...

vue项目引入tailwindcss

vue3项目引入tailwindcss vue3 vite tailwindcss3 版本 初始化项目 npm create vitelatest --template vue cd vue npm install npm run dev安装tailwindcss3 和 postcss 引入 npm install -D tailwindcss3 postcss autoprefixer // 初始化引用 npx tailwindcss init -p…...

Quartz修仙指南:从定时任务萌新到调度大能的终极奥义

各位被Thread.sleep()和ScheduledExecutorService折磨的道友们&#xff01;今天要解锁的是Java界任务调度至尊法宝——Quartz&#xff01;这货能让你像玉皇大帝安排天庭日程一样&#xff0c;精确控制每个任务的执行时机&#xff01;准备好告别蹩脚的手动定时器了吗&#xff1f;…...

Process Explorer 性能调优实战:精准定位资源泄漏与高负载进程

一、下载与安装 ‌下载地址‌ Process Explorer安装包下载&#xff1a;https://pan.quark.cn/s/950c36ba5364下载后解压压缩包&#xff0c;运行 procexp.exe&#xff08;32 位系统&#xff09;或 procexp64.exe&#xff08;64 位系统&#xff09;‌。 ‌界面概览‌ 主界面以树…...

Docker 常用命令指南

Docker 提供了丰富的命令行工具来管理镜像、容器、网络和数据卷等资源。本指南按类别整理 Docker 的常用命令,并为每个命令提供简体中文说明和示例,以帮助您快速查询和掌握日常使用。 1. 镜像管理 Docker 镜像(Image)是打包好的应用程序及其依赖环境,可用于创建容器。常用…...

3.1A、34V DC/DC 同步降压转换器WD5034

以下是对 WD5034 相关内容的编辑&#xff1a; WD5034 是一款性能卓越的高效率、单片同步降压 DC/DC 转换器&#xff0c;凭借其先进的恒定频率、平均电流模式控制架构&#xff0c;在众多电源管理芯片中脱颖而出。以下是其详细特点和优势&#xff1a; 出色的负载能力&#xff1a;…...

面向对象高级(1)

文章目录 final认识final关键字修饰类&#xff1a;修饰方法&#xff1a;修饰变量final修饰变量的注意事项 常量 单例类什么是设计模式&#xff1f;单例怎么写?饿汉式单例的特点是什么&#xff1f;单例有啥应用场景&#xff0c;有啥好处&#xff1f;懒汉式单例类。 枚举类认识枚…...

Vim 编辑器的常用快捷键介绍

以下是 Vim 编辑器的常用快捷键分类介绍&#xff0c;帮助你快速掌握高效编辑技巧&#xff1a; 一、基础模式切换 Vim 的核心是 模式化操作&#xff0c;常用模式包括&#xff1a; 普通模式&#xff08;默认&#xff09;&#xff1a;导航、命令输入。插入模式&#xff1a;输入/…...

如何使用AI辅助开发R语言

R语言是一种用于统计计算和图形生成的编程语言和软件环境&#xff0c;很多学术研究和数据分析的科学家和统计学家更青睐于它。但对与没有编程基础的初学者而言&#xff0c;R语言也是有一定使用难度的。不过现在有了通义灵码辅助编写R语言代码&#xff0c;我们完全可以用自然语言…...

docker 运行自定义化的服务-后端

docker 运行自定义化的服务-前端-CSDN博客 运行自定义化的后端服务 具体如下&#xff1a; ①打包后端项目&#xff0c;形成jar包 ②编写dockerfile文件&#xff0c;文件内容如下&#xff1a; # 使用官方 OpenJDK 镜像 FROM jdk8:1.8LABEL maintainer"ATB" version&…...

【Grok 大模型深度解析】第二期:架构探秘与训练哲学

在上一期的内容中,我们对 Grok 大模型从技术溯源的角度,了解了它从 Transformer 架构局限性出发,迈向混合架构创新的历程,同时也梳理了从 Grok - 1 到 Grok - 3 的版本迭代所带来的技术跃迁以及其独特的差异化优势。这一期,我们将深入到 Grok 大模型的架构内部,探究其精妙…...

oracle update 原理

Oracle 11g 中的 UPDATE 操作是数据库修改数据的关键机制&#xff0c;其核心原理涉及事务管理、多版本并发控制&#xff08;MVCC&#xff09;、Undo/Redo 日志、锁机制等 1. 执行前的准备 SQL 解析与执行计划&#xff1a; Oracle 解析 UPDATE 语句&#xff0c;生成执行计划&…...

优化项目缓慢卡顿

大家好&#xff0c;好久不见&#xff0c;因为最近在搞几个老项目&#xff0c;没怎么跟大家见面。在做老项目的时候发现了一些小问题拿出来跟大家分享分享。 因为这个问题是生产环境下面出现的&#xff0c;所以在开发环境的时候很难发现&#xff0c;而且网速快的话也很难发现&a…...

【黑客帝国连接虚拟与现实:数据采集系统(DAQ)硬核技术深度解析】

1. DAQ系统核心架构&#xff1a;从物理世界到数字域的精密映射 1.1 传感器与信号调理&#xff1a;物理量到电信号的精准转换 传感器的物理原理与非线性补偿 热电偶&#xff08;Thermocouple&#xff09;&#xff1a;基于塞贝克效应&#xff0c;其输出电压与温度差的非线性关系…...