Upload-labs靶场通关
之前搭好了靶场,Upload-labs 靶场搭建 及一句话木马的原理与运用-CSDN博客
今天开始通关并写详细流程
Pass-1
来到靶场的第一关
先随便上传php 代码
点击上传
发现文件类型被限制了
方法1:
改文件后缀为合法文件(.jpg .png .gif),再抓包修改回php文件
例如我将它改为.jpg
改完后打开bp抓包,然后点击上传
抓到包后修改文件后缀 .jpg为.php
改为
然后发送,回到上传页面,因为木马已经经过前端验证又改为php文件,所以木马被执行
右键上传成功的图片,新标签页打开
其实这里刚开始我上传的一句话木马是<?php @eval($_POST['a']);?>
但上传打开图片链接就出现服务器错误,无法显示上传的文件
这里说一下为什么要先改后缀再上传抓包改后缀
因为文件上传以后数据包是从客户端发往服务端,而bp抓包是相当于在服务端抓,js前端验证是在客户端进行的,这样一来因为这题是js前端验证,木马文件要先进行js前端验证才能进行抓包,而.php文件后缀是被js禁止上传的,也就是说该木马文件连第一步前端验证都没通过,抓包是抓不了的。(所以要先改为jpg后缀绕过js前端验证,再进行抓包改为php就能上传木马成功)
后来在别处得知运用到<?php phpinfo();?>
<?php phpinfo();?>
是一段简单的 PHP 代码,用于显示当前服务器的 PHP 配置信息
<?php ... ?>
:PHP 的起始和结束标签,包裹其中的 PHP 代码。
phpinfo();
:PHP 内置函数,调用后会生成一个完整的 HTML 页面,包含服务器的 PHP 环境信息。
显示 PHP 配置
包括:
PHP 版本、运行模式(如 CLI 或 Apache 模块)。
编译选项(如支持的扩展、安全设置)。
服务器环境变量(如 $_SERVER
内容)。
已加载的扩展(如 MySQL、GD 库等)。
php.ini
的配置参数(如内存限制、上传文件大小等)
调试用途
开发时常用它检查服务器是否正常加载了特定扩展(如 curl
、pdo_mysql
),或确认配置(如 error_reporting
)是否生效
如果想限制显示的信息,可以用参数:
<?php phpinfo(INFO_MODULES); // 仅显示已加载的扩展 ?>
与一句话木马的区别
核心区别对比表
特性 | phpinfo() | 一句话木马 |
---|---|---|
主要功能 | 显示服务器配置信息 | 提供远程代码执行能力 |
危险性 | 低(信息泄露) | 极高(系统控制) |
典型用途 | 调试/信息收集 | 权限维持/渗透 |
代码复杂度 | 单函数调用 | 常含加密/混淆逻辑 |
检测难度 | 通常被允许 | 安全软件会重点监控 |
方法2:
可以F12键打开查看器可以看到前端验证的代码
这里其实禁用前端就可以了 (既然Javascript过滤了文件,那把Javascript禁用了就没办法过滤,也就可以上传了 )
打开设置里的调试程序,勾选禁用Javascript
这个是把前端所有的js函数都禁用了(为了浏览器以后能正常使用,要记得过关以后把Javascript开启)
Pass-2
这题同样先上传文件看看
发现提示文件类型不正确,那就是改Content-type就可以
同样选择文件后抓包上传
然后改文件类型,把改为image/jpeg试试
上传成功打开图片
Pass-3
这题上传了php文件后发现是黑名单验证,禁止上传四种后缀的名单
现在想办法绕过,在网上查了一下后了解到在某些特定的环境中某些特殊后缀会被当做php文件解析php、php2、php3 4 5 6 7以及pht、phtm、phtml,然后用php5试了一下,先将之前的<?php phpinfo();?>文件名改一下
上传后同样复制图片地址,然后另建访问,但发现是空白页
弄了好一会不知道怎么回事,后来在一个博主那里了解到使用phpstudy搭建的upload-labs可能无法加载出这个界面,我的就是,而他给出的方法是修改#AddType application/x-httpd-php .php .phtml为AddType application/x-httpd-php .php .phtml .php5 .php3,然后别忘了#要删除,然后就可以正常访问图片地址
我按他说的试了一下,先打开phpstudy的配置文件下的httpd-conf配置文件
然后修改
保存过后就可以访问图片路径
Pass-4
这题着实不会,因为过滤了太多文件
乍一看还好,往后一看更多
这里参照了别人的博客,利用.htaccess,可以重写文件解析绕过,大概做法如下
先写一个文件命名为.htaccess,这个文件内容的意思是告诉apache遇到jpg文件时按照php去解析
再创建一个php测试文件
最后分别将.htaccess 和xxx.jpg文件上传,然后用浏览器访问xxx.jpg即可
Pass-5
查看源码,发现过滤了更多后缀,这次连.htaccess文件也被过滤了
但看到源码中过滤数组有小写和大小写混合,但没有纯大写,而下面也没有转小写
因为php文件名是不区分大小写的,所以直接上传
Pass-6
这题先上传上一题的文件,发现果然被过滤
然后查看源码,发现过滤这块有点不一样,这题相比上一题没有trim()函数对文件名进行去空格处理
而关于文件上传的题之前在deepseek上了解到 在windows环境下,系统会自动去除文件名后面的点和空格,而在linux环境下,会保留文件名的特殊字符,我的环境在windows搭建成的,所以就好解决了 方法就是抓包添加空格,进而消耗掉过滤数,然后windows就会帮我删掉空格,那么完成
先上传刚刚的文件,然后抓包添加空格放行即可
Pass-7
查看关卡源码,对比第四关,发现少了删除文件末尾的点
第六关一样,windows文件后缀名不能加’.',一样使用burp抓包然后后缀加一个点
Pass-8
查看源码,发现相比之前的代码少了删除文件末尾的点
所以同样上传之前的php文件,windows文件后缀名不能加. 所以进行bp抓包 ,然后在后缀加.
最后放行即可
Pass-9
首先查看源码发现这题少了去除字符串::$DATA
所以直接使用bp抓包在文件名后缀加::$DATA,最后放行
Pass-10
这一题之前的所有方法都用不了了,但需要注意的是,没有循环验证,代码只执行一次
既然这样先双写试试看,然后抓包发现的确是将一个php去掉以后拼接了一个新的php
最后放行复制链接访问解析即可
Pass-11
这题注意到save_path这个可控变量,后面还有一个后缀名需要绕过
这里需要知道%00截断但要注意使用这个有两个条件
php版本小于5.3.4
php的magic_quotes_gpc为OFF状态
然后解释一下00截断:php在处理文件名或路径时,如果遇到URL编码的%00,它会被解释为一个空字节(即ASCLL值为0),在php5.3以前,php会将这个空字节转换为\000的新式,然后就会导致文件名被截断,只保留%00之前的部分,然后可能会导致文件被保存到另一个意外的位置从而产生安全风险(php语言的底层为c语言,\0在C语言中是字符串的结束符,所以导致00截断的发生)
接下来注意到img_path是通过get传参传递的,所以不妨将这个路径改为upload/Untitled.php%00,则不管后面是什么东西都会被截掉,然后经过move_upload_file函数将临时文件重新复制给截断之前的文件路径,但还是要上传jpg文件以保证后续程序的运行
接下来就是上传 抓包 修改 放行
Pass-12
这一题发现和上一题不一样,上一题是get传参,这一题是post传参
上一关%00经过url编码,而post不会自行编码,所以应该要对%00进行urldecode编码,可直接利用bp中的快捷键convert selection进行快速url编码
然后我上传的文件类型不正确,Content-type也需要改一下,改为image/jpeg或image/png
改完后send即上传成功
Pass-13
这题的图片马其实就是在一张图片中写入一句话改为php文件然后与另一张图片合成新图片,上传该图片利用php的文件包含特性将图片以php进行解析
先将一张图片写入一句话
使用终端合成新图片再上传,最后利用文件包含漏洞读取即可
copy liu.jpg /b + liu.php /a new.jpg
当然我也使用了bp发现直接抓包加入一句话要方便得多
Pass-14
检查源码发现pass检查图标内容开头2个字节
也不清楚能干嘛,就像之前一样先找一张正常的图片然后加入phpinfo
然后发现上传成功
pass-15
这题看了源码后看提示
然后注意到getimagesize()函数,具体解析在这里
php getimagesize 函数 – 获取图像信息 | 菜鸟教程
然后同样上传上一题的图片马即可
Pass-16
查看提示有重新渲染,先看看源码
imagecreatefromjpeg()函数,二次渲染是由Gif文件或URL创建一个新图像。成功则返回一图像标识符/图像资源,失败则返回false,导致图片马的数据丢失,上传图片失败。
按照前几关的方式上传,可以上传,但是包含漏洞无法解析。原因就是二次渲染将图片马里面的php代码删除了。接下来把原图和修改后的图片进行比较,看那里没有被渲染,在这里插入php代码。这里使用beyond compare。
把上传的图片右键保存本地,看有没有被渲染的地方,加入php代码
再重新上传
Pass-17
提示需要进行代码审计,先看看源码
发现如果上传的符合它的白名单,那就进行重命名,如果不符合,直接删除!解析的机会都没有,这让我想到了条件竞争,如果我在它删除之前就访问这个文件,他就不会删除了。接下来直接实验
上传一个php文件,然后burp抓包发到爆破模块
相关文章:
Upload-labs靶场通关
之前搭好了靶场,Upload-labs 靶场搭建 及一句话木马的原理与运用-CSDN博客 今天开始通关并写详细流程 Pass-1 来到靶场的第一关 先随便上传php 代码 点击上传 发现文件类型被限制了 方法1: 改文件后缀为合法文件(.jpg .png .gif…...
Python数据结构之有序列表
一.基本介绍 在有序列表中,元素的相对位置取决于它们的基本特征。它们通常以升序或者降序排列,并且我们假设元素之间能进行有意义的比较。有序列表和无序列表(链表)的许多操作都是相同的。 二.代码实现 class OrderedList:"""有序列表类…...
LMK04828使用指南-01-简介与引脚功能描述
简介 LMK0482x系列是业界性能最高的时钟调节器,支持JEDEC JESD204B。 PLL2的14个时钟输出可以配置为使用设备和SYSREF时钟驱动七个JESD204B转换器或其他逻辑设备。可以使用直流和交流耦合提供SYSREF。不限于JESD204B应用,14个输出中的每一个都可以单独…...
统计学基本原理
目录 文章目录 目录统计学统计学基本概念描述性统计数据可视化图表工具 汇总统计统计数据的分布情况:中位数、众数、平均值统计数据的离散程度:极差、方差、标准差、离散系数 相关分析Pearson 线性关系相关系数Spearman 单调关系相关系数 回归分析回归模…...
日常真实工作环境,Mysql常用操作命令,笔记!
1、开放增删改查权限,不开放表结构修改权限 有许多生产环境是不需要修改表结构的,也是为了防止SQL注入。 创建用户 mysql> grant all on *.* to ie% identified by test1设置权限 1.首先我们先回收所有权限。 revoke all on *.* from ie% ;2.设…...
洛谷题单3-P1307 [NOIP 2011 普及组] 数字反转-python-流程图重构
题目描述 给定一个整数 N N N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。 输入格式 一个整数 N N N。 …...
洛谷题单3-P1420 最长连号-python-流程图重构
题目描述 输入长度为 n n n 的一个正整数序列,要求输出序列中最长连号的长度。 连号指在序列中,从小到大的连续自然数。 输入格式 第一行,一个整数 n n n。 第二行, n n n 个整数 a i a_i ai,之间用空格隔开…...
PostgreSQL:表分区与继承
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
【NLP 55、投机采样加速推理】
目录 一、投机采样 二、投机采样改进:美杜莎模型 流程 改进 三、Deepseek的投机采样 流程 Ⅰ、输入文本预处理 Ⅱ、引导模型预测 Ⅲ、候选集筛选(可选) Ⅳ、主模型验证 Ⅴ、生成输出与循环 骗你的,其实我在意透了 —— 25.4.4 一、…...
CSS 创建与使用学习笔记
一、CSS 的作用 CSS(层叠样式表)用于控制 HTML 文档的样式和布局。当浏览器读取一个样式表时,它会根据样式表中的规则来格式化 HTML 文档,从而实现页面的美化和布局调整。 二、插入样式表的方法 CSS 可以通过以下三种方式插入到…...
CSS Id 和 Class 选择器学习笔记
一、概述 在 CSS 中,id 和 class 选择器是用于为 HTML 元素指定样式的强大工具。它们可以帮助我们精确地控制页面中元素的样式,让页面设计更加灵活和高效。 二、id 选择器 1. 定义和使用 定义:id 选择器用于为具有特定 id 属性的 HTML 元素…...
从小米汽车事故反思 LabVIEW 开发
近期,小米汽车的一起严重事故引发了社会各界的广泛关注。这起事故不仅让我们对智能汽车的安全性产生了深深的思考,也为 LabVIEW 开发领域带来了诸多值得汲取的知识与领悟。 在智能汽车领域,尤其是涉及到智能驾驶辅助系统时,安全是…...
解锁工业通信:Profibus DP到ModbusTCP网关指南!
解锁工业通信:Profibus DP到ModbusTCP网关指南! 在工业自动化领域,随着技术的不断进步和应用场景的日益复杂,不同设备和系统之间的通讯协议兼容性问题成为了工程师们面临的一大挑战。尤其是在Profibus DP和Modbus/TCP这两种广泛应…...
web漏洞靶场学习分享
靶场:pikachu靶场 pikachu漏洞靶场漏洞类型: Burt Force(暴力破解漏洞)XSS(跨站脚本漏洞)CSRF(跨站请求伪造)SQL-Inject(SQL注入漏洞)RCE(远程命令/代码执行)Files Inclusion(文件包含漏洞)Unsafe file downloads(不安全的文件下载)Unsafe file uploads(不安全的文…...
【C++学习笔记】十三、速通笔记
完整的C编程教程 目录 开发环境配置C知识体系现代C特性设计模式数据结构CMake项目构建调试技巧进阶主题学习资源 1. 开发环境配置 1.1 安装编译器 sudo apt-get install g build-essential1.2 安装构建工具 sudo apt-get install cmake1.3 VS Code配置 安装C扩展配置调试…...
硬件电路(23)-输入隔离高低电平有效切换电路
一、概述 项目中为了防止信号干扰需要加一些隔离电路,而且有时传感器的信号是高有效有时是低有效,所以基于此背景,设计了一款方便实现高低电平有效检测切换电路。 二、应用电路...
基于深度学习的多模态癌症数据集调研
基于深度学习的多模态癌症数据集调研 关键词: 癌症、分割、多模态、radiology、pathology、深度学习 目录: 一、 数据集总结 二、 胶质瘤/脑肿瘤(glioma) 三、 肺癌/非小细胞肺癌(NSCLC) 四、 乳腺癌&am…...
Logo语言的系统监控
Logo语言的系统监控 引言 在信息技术飞速发展的时代,系统监控成为了确保计算机系统和网络平稳运行的重要手段。系统监控不仅可以实时跟踪系统的性能、资源使用情况和安全风险等,还能够在出现问题时及时发出警报,从而避免潜在的故障和损失。…...
Go语言-初学者日记(八):构建、部署与 Docker 化
🧱 一、go build:最基础的构建方式 Go 的构建工具链是出了名的轻量、简洁,直接用 go build 就能把项目编译成二进制文件。 ✅ 构建当前项目 go build -o myapp-o myapp 指定输出文件名默认会构建当前目录下的 main.go 或 package main &a…...
青少年编程与数学 02-015 大学数学知识点 08课题、信息论
青少年编程与数学 02-015 大学数学知识点 08课题、信息论 一、信息论基础二、熵与信息量三、信源编码四、信道编码五、率失真理论六、信息论的应用七、网络信息论八、信息论与统计学习九、量子信息论十、信息论的前沿研究总结 信息论是研究信息传输、存储和处理的数学理论&…...
【已解决】Webstorm 每次使用 git pull/push 都要输入令牌/密码登录
解决办法:勾上【使用凭据帮助程序】(英文:Use credential helper)...
FreeRTOS:嵌入式实时操作系统的轻量化解决方案
一、FreeRTOS 的核心定位 FreeRTOS(Free Real-Time Operating System)是一款专为微控制器及资源受限的嵌入式设备设计的开源实时操作系统内核。自2003年由Richard Barry发布以来,其以轻量化、高实时性、低资源占用的特点,成为物…...
Linux操作系统 4.Linux实用操作
一、各类小技巧(快捷键) 强制停止 退出、登出 历史命令搜索 光标移动 1.CTRL C 强制停止 1.Linux某些程序的运行,如果想要强行停止它,可以使用ctrlc 2.命令输入错误,也可以通过快捷键ctrl c,退出当前输入࿰…...
学透Spring Boot — 010. 单元测试和Spring Test
系列文章目录 这是CSDN postnull 博客《学透Spring Boot》系列的一篇,更多文章请移步:Postnull - 学透Spring Boot系列文章 文章目录 系列文章目录前言1. 基本概念UT 单元测试TDD 测试驱动开发UT测试框架Mock框架 3. Spring Test为什么要用Spring Test引…...
Perl语言的文件系统
Perl语言中的文件系统操作 引言 在软件开发中,文件系统操作是一个不可或缺的部分。无论是简单的文件读取、写入,还是复杂的文件管理,合理的文件系统操作都能极大提升程序的效率和可维护性。Perl语言是一种强大的文本处理语言,凭…...
ffmpeg基础指令学习
文章目录 1. **基本的 FFmpeg 语法**2. **常见的 FFmpeg 基础指令****1. 转换视频格式****2. 视频剪切****3. 转换视频的编码****4. 提取音频****5. 改变视频分辨率****6. 改变音视频的比特率****7. 合并音视频****8. 提取视频中的一帧图片****9. 提取视频的帧速率(…...
英国电商物流变革:ebay私人卖家如何借势简易配送提升履约效率?
近年来,英国电商物流正在经历一场不小的变革。从“等待5-7个工作日”到如今“次日达”成为常态,市场和用户对配送效率的要求越来越高。对于在 eBay 平台上的私人卖家来说,这既是挑战,也是机会。如何用有限的资源跟上平台和消费者对…...
第15周:注意力汇聚:Nadaraya-Watson 核回归
注意力汇聚:Nadaraya-Watson 核回归 Nadaraya-Watson 核回归是一个经典的注意力机制模型,它展示了如何通过注意力权重来对输入数据进行加权平均。以下是该内容的核心总结: 关键概念 注意力机制框架:由查询(自主提示…...
批量图片文本识别重命名,批量ocr识别图片重命名,基于WPF和腾讯OCR云部署实,现批量对图片局部提取文字后重命名的操作详细步骤
1. 项目背景 在日常工作中,我们经常需要处理大量图片文件,这些图片可能包含重要的文字信息。为了提高工作效率,我们需要一种自动化的方式,从图片中提取文字,并根据提取的文字对图片进行重命名。 本项目基于 WPF 框架开发桌面应用程序,结合 腾讯 OCR…...
26考研——排序(8)
408答疑 文章目录 一、排序的基本概念二、插入排序三、交换排序四、选择排序五、归并排序、基数排序和计数排序六、排序的代码实操七、各种内部排序算法的比较及应用八、外部排序九、参考资料鲍鱼科技课件26王道考研书 十、总结基本排序算法希尔排序快速排序、堆排序和归并排序…...
KUKA机器人导入设备说明文件
KUKA机器人在应用中需要进行通讯配置,通讯前需要导入设备说明文件,比如常用的倍福设备说明文件。在Workvisual软件上通过以下步骤即可导入设备说明文件。 一、打开Workvisual软件,在选项卡【File】下找到【Import/Export】输入/输出并点击打…...
ssl.SSLCertVerificationError报错解决方案
这个错误 ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate 指出 Python 在尝试建立安全的 HTTPS 连接时,无法验证远程服务器(在此案例中是 GitHub 或 Hugging Face…...
drawio导出流程图为白色背景png图片
draw.io 操作路径: 1.纯白背景图片(一般导出流程图就这种纯白背景,看自己需求 什么都不勾选 导出效果图 2.田字格白背景 只勾选网格 导出效果图 3.方块背景 只勾选背景 导出效果图 4.大方块背景 都勾选 导出效果图...
【Linux】——手撕线程池、简易线程池
前言 在现代计算机编程领域,随着多核处理器和分布式系统的广泛应用,并发编程变得越来越重要。而线程作为实现并发的基本手段之一,其重要性不言而喻。然而,在实际的应用开发中,如何高效地管理和调度线程,以充…...
使用mcp自定义编写mcp tool,使用 conda 启动,在cline中配置使用
自定义 mcp tool 例子 ## /langchain_learn/mcp学习/base_mcp_tool_study2.py # 导入必要模块 import os from typing import Optional from mcp.server.fastmcp import FastMCP# 初始化 MCP 服务器实例,指定服务器名称和版本 mcp_server FastMCP(name"DemoS…...
OpenEuler/CentOS一键部署OpenGauss数据库教程(脚本+视频)
📌OpenEuler/CentOS一键安装OpenGauss数据库教程 为什么需要OpenGauss一键安装脚本? 手动部署OpenGauss数据库时,环境适配、依赖冲突等问题常让开发者头疼。尤其对新人而言,官方文档的配置步骤可能耗时数小时甚至引发未知报错。 …...
python如何快速删除文件夹中的大量文件
在 Python 中,删除文件夹中的大量小图片文件可以通过使用 os 模块或 shutil 模块来实现。以下是一个示例代码,展示了如何快速删除指定文件夹中的所有文件。如果你只需要删除小图片文件,可以添加额外的逻辑来检查文件大小。 以下是一个示例代…...
【mongodb】MongoDB的应用场景
目录 1.说明2.内容管理系统(CMS)2.1 场景描述2.2 MongoDB优势2.3 示例 3.实时分析与大数据3.1 场景描述3.2 MongoDB优势3.3 示例 4.移动应用后端4.1 场景描述4.2 MongoDB优势4.3 示例 5.游戏开发5.1 场景描述5.2 MongoDB优势5.3 示例 6.电子商务平台6.1 …...
使用 Swift 实现 LRU 缓存淘汰策略
📌 实现思路 一、核心目标 我们要实现一个缓存类: 支持通过 get(key) 获取缓存的值;支持通过 put(key, value) 写入缓存;缓存容量有限,当超过容量时要淘汰最久未使用的元素。 二、为什么用「哈希表 双向链表」 功…...
【面试篇】Dubbo
基础概念 问题:请简要介绍一下 Dubbo 是什么,它的主要用途是什么?答案:Dubbo 是阿里巴巴开源的高性能、轻量级的分布式服务框架,它致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案…...
01-STM32(介绍、工具准备、新建工程)p1-4
文章目录 工具准备和介绍硬件设备stm32简介和arm简介stm32简介STM32命名规则STM32选型STM32F103C8T6最小系统板引脚定义STM32启动配置STM32最小系统电路ARM简介 软件安装注册器件支持包安装ST-LINK驱动安装USB转串口驱动 新建工程创建stm32工程STM32工程编译和下载型号分类及缩…...
关于termux运行pc交叉编译的aarch64 elf的问题
在Linux系统上交叉编译Nim程序到Android Termux环境需要特殊处理,以下是详细的解决方案: 问题根源分析 ABI不兼容 Android使用bionic libc而非标准glibc,直接编译的Linux ARM二进制无法直接运行 动态链接错误 默认编译会链…...
Ansible Playbook 进阶探秘:Handlers、变量、循环及条件判断全解析
192.168.60.100ansible.com192.168.60.110 client-1.com 192.168.60.120client-2.com192.168.60.130client-1.com 一、Handlers 介绍:在发生改变时执行的操作(类似puppet通知机制) 示例: 当apache的配置文件发生改变时,apache服务才会重启…...
解决GraalVM Native Maven Plugin错误:JAVA_HOME未指向GraalVM Distribution
目录 问题描述解决方案为什么需要这样配置? 问题描述 在你的项目中,如果你遇到了以下错误信息: [ERROR] Failed to execute goal org.graalvm.buildtools:native-maven-plugin:0.10.5:test (native-test) on project DIctSystemInJavaUsing…...
006贪心——算法备赛
跨步问题 跳跃游戏|| 问题描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i j &…...
Hyperlane:高性能 Rust HTTP 服务器框架评测
Hyperlane:高性能 Rust HTTP 服务器框架评测 在当今快速发展的互联网时代,选择一个高效、可靠的 HTTP 服务器框架对于开发者来说至关重要。最近,我在评估各种服务器框架性能时,发现了一个名为 Hyperlane 的 Rust HTTP 服务器库&a…...
解锁多元养生密码,开启活力生活
在车水马龙、节奏飞快的现代社会,亚健康像阴霾一样,笼罩着不少人的生活。不少上班族长期久坐,肩颈酸痛;有的人作息混乱,皮肤状态差。想要驱散这些健康阴霾,拥抱活力生活,不妨解锁下面这些多元养…...
如何安全地访问AWS
如何安全地访问AWS 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 如何安全地访问AWS当可以使用AWS Organizations & IAM Identity Center时理想的访问方式补充:什么是IAM IIC…...
机器视觉工程师的专业精度决定职业高度,而专注密度决定成长速度。低质量的合群,不如高质量独处
在机器视觉行业,真正的技术突破往往诞生于深度思考与有效碰撞的辩证统一。建议采用「70%高质量独处30%精准社交」的钻石结构,构建可验证的技术能力护城河。记住:你的专业精度决定职业高度,而专注密度决定成长速度。 作为机器视觉工…...
Linux的 `sysctl` 命令 笔记250404
Linux的 sysctl 命令 笔记250404 sysctl 是 Linux 系统中用于 动态查看和修改内核运行时参数 的核心工具。它通过 /proc/sys/ 目录的虚拟文件系统接口,允许用户在不重启系统的前提下调整内核行为,涵盖网络、内存、文件系统等关键功能。 📜 核…...