网络安全-企业环境渗透2-wordpress任意文件读FFmpeg任意文件读
一、 实验名称
企业环境渗透2
二、 实验目的
【实验描述】
操作机的操作系统是kali 进入系统后默认是命令行界面 输入startx命令即可打开图形界面。
所有需要用到的信息和工具都放在了/home/Hack 目录下。
本实验的任务是通过外网的两个主机通过代理渗透到内网的两个主机。在渗透的过程中一般需要先进行端口扫描猜测主机上运行的服务,再通过漏洞利用脚本和其他扫描工具进一步确定漏洞存在,进而完成主机渗透拿到权限。
在本实验中需要查找flag{32位MD5}字样的字符串作为完成任务的凭证,将flag放到表单中提交。
通过外网系统漏洞获取目标机器的权限
通过获取服务器的权限后,通过此机器为跳板入侵内网
【实验目的】
Weblogic的java反序列漏洞应用
Wordpress任意文件读取的漏洞利用
Wordpress命令执行的漏洞利用
WordPress通过自己修改的EXP,getshell
通过代理扫描内网
Redis未授权访问以及对配置文件的理解
Ffmpeg任意文件的读取结合redis的利用
Drupal由于YAML解析器处理不当导致远程代码执行
三、 实验内容及原理
##任务一、Weblogic反序列化
###任务描述
整体扫描外部网络,探测暴露在外部的主机信息
利用java反序列化漏洞利用脚本执行系统命令。
在系统home目录下寻找flag字样的值提交,提交后该实验任务完成。
###实验目标
了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
掌握java反序列化漏洞利用脚本的使用。
熟悉weblogic的常见端口。
掌握网络扫描探测的方法和技术原理和nmap的简单实用
###操作步骤
浏览器访问192.168.2.10的7001端口
使用weblogic java反序列化利用工具获取权限
所有需要用到的信息和工具都放在了/home/Hack 目录下。
在home目录下查找flag字样字符串提交
##任务二、Wordpress任意文件读取
###任务描述
使用wpscan工具扫描wordpress的插件漏洞
主要针对插件WP Hide Security Enhancer存在的任意文件读取漏洞,以此读取到网站主要文件。
###实验目标
了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
掌握wordpress插件WP Hide Security Enhancer漏洞的利用方法。
掌握wpscan工具的使用和插件扫描命令
###操作步骤
1.利用wpscan扫描wordpress网站,扫描漏洞插件
注意 -e p扫描插件漏洞
2.利用扫描出的插件漏洞读取wp-config.php的文件内容
上面给出了漏洞文档链接
Arbitrary File Download Vulnerability in WP Hide Security Enhancer 1.3.9.2 - SecuPress
访问看看
这样可以获取wpconfig.php
3.读取wp-config.php的flag字符串提交
##任务三、Wordpress命令执行
###任务描述
利用Burpsuite的repeater模块修改包探测漏洞存在的字段。
执行wordpress mailer命令执行漏洞的利用脚本尝试获取shell。
本任务的目的是通过wordpress主系统本身的漏洞进一步渗透,任务二只是获得了文件读取的能力,而不能命令执行。经过进一步的探测,判断这个wordpress中存在phpmailer的命令执行漏洞,这个漏洞的特点是通过HTTP包中的Host字段触发,唯一的前提条件是需要知道管理员的用户名。
###实验目标
了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
掌握浏览器设置代理的方法
掌握Burpsuite抓包改包的基本操作和使用repeater模块探测漏洞字段。
掌握wordpress mailer漏洞的原理和脚本使用。
###操作步骤
访问目标网站,在浏览器中配置代理,用Burpsuite拦截请求包
使用Firefox浏览器工具栏中的“设置”工具进行“手动代理Manual Proxy”配置
设置的位置在Preference advanced
设置代理为127.0.0.1:8080
使用Burpsuite的repeater模块探测漏洞字段。
理解wordpress mailer漏洞的原理,执行wp.sh 脚本获取响应 信息
##任务四、通过改进漏洞利用脚本获得命令执行权限
###任务描述
通过分析sendmail中的语法改进作者的漏洞利用脚本,缩短host字段的长度绕过限制。
利用改进后的漏洞利用脚本来获取shell。
###实验目标
了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
熟悉sendmail命令语法。
掌握webshell命令执行漏洞的常规下载执行的利用思路。
掌握在浏览器上配置代理的方法。
掌握利用Burpsuite的repeater模块改包测试的过程。
###操作步骤
查看漏洞利用脚本wordpress-rce-exploit.sh理解脚本改进的原理。
修改为
填写漏洞利用脚本的关键信息如反弹IP,监听端口等。本地监听设置的端口获取反弹的shell。
打开第二个shell监听
第一个shell执行
得到shell
利用shell上传regeorg的tunnel.php文件,使用regeorg架设代理
再开启一个shell,设置本地服务器
原来的shell上传tunnel.nosocket.php
通过proxychains设置好regeorg的代理,利用这个代理扫描内网1.0网段
检测,上传成功
开启代理
Proxychains 添加代理地址 修改 proxychains.conf
然后可以远程命令行
扫描 192.168.1.10
192.168.1.11
##任务五、redis未授权访问+ffmpeg 任意文件读取
###任务描述
查看网页中的信息可知,是通过ffmpeg处理视频的小应用,只有上传,下载和删除功能,此处存在ffmpeg文件读取漏洞,构造特定的avi视频,经过ffmpeg处理之后的视频就会包含想要的文件内容。利用文件读取漏洞获取redis配置文件内容。
redis数据库服务,允许外连且没有设置密码,可以随意访问,此处存在未授权访问漏洞,正常情况下可以写入文件,但是过程中发现,必要的config命令被替换了。而config命令的替换一定是写在redis的配置文件中的,配置文件的路径又可以在redis中执行info获取到。在以上环境中获取到redis服务器的shell。
###实验目标
了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
掌握ffmepg任意文件读取漏洞的利用方法。
了解redis数据库的特性和配置文件的使用。
掌握redis数据库未授权访问漏洞的利用方法。
###操作步骤
扫描目标开启的端口,发现web和redis服务
连接redis服务器查看配置文件位置
使用redis-cli和刚刚的代理
Info查看配置文件
利用ffmepg的任意文件读取漏洞构造payload读取redis配置文件,获取修改过后的config命令。
Ffmpeg 的任意读取漏洞参考 访问的文章审核中... - FreeBuf网络安全行业门户
生成avi
注意 file/// 位置是想获取的配置文件的位置
修改proxychains 配置文件,socks4
然后可以使用 命令 proxychains firefox & 来代理。
这样原来本地192.168.2.200访问不了的192.168.1.11 可以借助代理的192.168.2.11访问
如图
可见该网站利用ffmpeg转换视频,故可利用漏洞
上传刚刚的avi
然后下载 123.avi
在 /root/downloads查看下载好的视频,其中内容即为
可见 config 被替换为 ccoonnffiigg
利用redis写入文件的特点覆盖目标的定时任务cron文件反弹shell
注意过程中可能出现链接问题,更换端口代理即可解决
然后执行脚本
成功反弹shell
可以查找flag
/home/flag/flag.txt
/etc/redis/63799.conf
##任务六、drupal8远程代码执行
###任务描述
使用浏览器挂代理访问内网机器192.168.1.10。
利用drupal8的php反序列化漏洞向目标服务器写入webshell。
使用Cknife连接已经生成的webshell
###实验目标
了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
熟悉网站webshell的概念,理解上传webshell、获取webshell权限的意义和方法。
掌握webshell工具Cknife的基本使用,特别是设置代理的功能,查看上传文件,命令执行等功能的使用。
掌握在浏览器上配置代理的方法。
掌握利用drupal8的php反序列化漏洞的攻击方法和相关的技术原理。
###操作步骤
使用浏览器结合proxychains用之前的代理访问内网中的drupal8的web应用。
除了上面的 proxychains 代理访问,也可以直接设置firefox的代理
访问192.168.1.10
弱口令登录目标网站后台
利用反序列化漏洞执行phpinfo 探测网站信息
浏览发现此处可以上传
选简单配置,粘贴 drupal_exp.txt 的内容
导入后
利用反序列化漏洞写入webshell,并测试存在
然后就有了webshell
用Cknife设置代理连接webshell获取网站的权限
实验Cknife连接
设置代理
添加链接
flag
相关文章:
网络安全-企业环境渗透2-wordpress任意文件读FFmpeg任意文件读
一、 实验名称 企业环境渗透2 二、 实验目的 【实验描述】 操作机的操作系统是kali 进入系统后默认是命令行界面 输入startx命令即可打开图形界面。 所有需要用到的信息和工具都放在了/home/Hack 目录下。 本实验的任务是通过外网的两个主机通过代理渗透到内网的两个主机。…...
C# 超链接控件LinkLabel无法触发Alt快捷键
在C#中,为控件添加快捷键的方式有两种,其中一种就是Windows中较为常见的Alt快捷键,比如运行对话框,记事本菜单等。只需要按下 Alt 框号中带下划线的字母即可触发该控件的点击操作。如图所示 在C#开发中,实现类似的操作…...
一分钟学习数据安全——数据安全风险的系统化应对思路
数据是组织的重要资产,未经授权的数据访问可能导致数据泄露、数据篡改、隐私侵犯和合规风险等问题。企业可以通过数据访问控制来提高信息系统在数据全生命周期管理中的安全性。企业可以引入IAM系统,来控制身份来管理权限。通过对用户访问权限的管理和合适…...
深入了解 Spring Security 的授权核心功能
Spring Security 是一个强大且灵活的安全框架,能够帮助开发者为 Spring 应用程序提供认证和授权服务。在实际应用中,Spring Security 主要涉及用户的认证(谁是用户)和授权(用户能做什么)。本文将深入讲解 S…...
【Web前端】创建我的第一个 Web 表单
Web 开发中,表单是不可或缺的组成部分。无论是用户注册、登录还是反馈收集,表单都是与用户交互的重要方式。 什么是 Web 表单? Web 表单是一种用于收集用户输入数据的界面元素。它们允许用户在浏览器中输入信息并提交这些信息到服务器。Web …...
“人工智能+高职”:VR虚拟仿真实训室的发展前景
在当今科技日新月异的时代,人工智能(AI)与虚拟现实(VR)技术的融合正逐步改变着各行各业,教育领域也不例外。特别是在高等职业教育(简称“高职”)体系中,VR虚拟仿真实训室…...
状态模式之状态机
状态机的背景 在软件开发过程中,尤其是涉及到复杂的系统行为控制时,我们常常会遇到这样的情况:一个对象或者系统会在多种状态之间进行转换,并且在不同状态下对相同事件的响应是不同的。 以自动售卖机为例,自动售卖机…...
NUXT3学习日记四(路由中间件、导航守卫)
前言 在 Nuxt 3 中,中间件(Middleware)是用于在页面渲染之前或导航发生之前执行的函数。它们允许你在路由切换时执行逻辑,像是身份验证、重定向、权限控制、数据预加载等任务。中间件可以被全局使用,也可以只在特定页…...
基于重复控制补偿的高精度 PID 控制
1. 背景与原理 重复控制(Repetitive Control, RC)是一种适用于周期性信号跟踪和周期性扰动抑制的控制方法,通过在控制回路中引入周期补偿器来提高系统的控制精度。将 RC 与 PID 控制相结合,利用 PID 的快速响应特性和 RC 的周期补…...
Linux之日志
日志 在编写网络服务器, 各种软件时, 程序一定要打印一些日志信息. 1. 可以向显示器打印, 也可以向文件中写入. 2. 日志是软件在运行时记录的流水账, 用于排查服务进程挂掉的信息. 其中必须要有的是: 日志等级, 时间, 日志内容.可选的是文件名, 代码行数, 进程pid 等 日志…...
【LeetCode面试150】——202快乐数
博客昵称:沈小农学编程 作者简介:一名在读硕士,定期更新相关算法面试题,欢迎关注小弟! PS:哈喽!各位CSDN的uu们,我是你的小弟沈小农,希望我的文章能帮助到你。欢迎大家在…...
云原生之k8s服务管理
文章目录 服务管理Service服务原理ClusterIP服务 对外发布应用服务类型NodePort服务Ingress安装配置Ingress规则 Dashboard概述 认证和授权ServiceAccount用户概述创建ServiceAccount 权限管理角色与授权 服务管理 Service 服务原理 容器化带来的问题 自动调度:…...
【Vue】 npm install amap-js-api-loader指南
前言 项目中的地图模块突然打不开了 正文 版本太低了,而且Vue项目就应该正经走项目流程啊喂! npm i amap/amap-jsapi-loader --save 官方说这样执行完,就这结束啦!它结束了,我还没有,不然不可能记录这篇文…...
RocketMQ: 部署结构与存储特点
RocketMQ 是什么 它是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点 Producer、Consumer、队列都可以分布式Producer 向一些队列轮流发送消息 队列集合称为 TopicConsumer 如果做广播消费则一个 consumer 实例消费这个 Topic 对应的所有队列如果…...
Android OpenGL ES详解——绘制圆角矩形
1、绘制矩形 代码如下: renderer类: package com.example.roundrectimport android.content.Context import android.opengl.GLES30 import android.opengl.GLSurfaceView.Renderer import com.opengllib.data.VertexArray import com.opengllib.prog…...
【大数据学习 | Spark】Spark的改变分区的算子
当分区由多变少时,不需要shuffle,也就是父RDD与子RDD之间是窄依赖。 当分区由少变多时,是需要shuffle的。 但极端情况下(1000个分区变成1个分区),这时如果将shuffle设置为false,父子RDD是窄依赖关系&…...
前端知识点---rest(javascript)
文章目录 前端知识点---rest(javascript)rest的用法基本语法特点使用场景与扩展运算符(spread)区别小练习 前端知识点—rest(javascript) rest出现于ES2015 function doSum(a,b, ...args) //示例中的args就是一个rest参数 //它会将后续的所有参数存储…...
Spark使用过程中的 15 个常见问题、详细解决方案
目录 问题 1:Spark 作业超时问题描述解决方案Python 实现 问题 2:内存溢出问题描述解决方案Python 实现 问题 3:Shuffle 性能问题问题描述解决方案Python 实现 问题 4:Spark 作业调度不均问题描述解决方案Python 实现 问题 5&…...
ASP.NET MVC宠物商城系统
该系统采用B/S架构,使用C#编程语言进行开发,以ASP.NET MVC框架为基础,以Visual Studio 2019为开发工具,数据库采用SQL Server进行保存数据。系统主要功能包括登录注册、宠物展示、个人中心、我的订单、购物车、用户管理、宠物类别…...
DQN系列算法详解
代码链接见文末 1. Q-learning 1.1 概述 Q-Learning是一种强化学习算法,目的是通过选择能带来最大长期收益的行为来完成任务。 做事包含瞬时奖励和记忆经验奖励: 在Q-Learning中,每个动作都会带来“瞬时奖励”,同时也会根据过去的经验记住哪些行为更有利。瞬时奖励: 这里…...
uniapp发布android上架应用商店权限
先看效果: 实现原理: 一、利用uni.addInterceptor的拦截器,在一些调用系统权限前拦截,进行弹窗展示,监听确定取消实现业务逻辑。 二、弹窗是原生nativeObj进行drawRect绘制的 三、权限申请调用使用的 plus.android.…...
已阻止加载“http://localhost:8086/xxx.js”的模块,它使用了不允许的 MIME 类型 (“text/plain”)。
记录今天解决的一个小bug 在终端启动8080端口号监听后,打开网址http://localhost:8080,发现不能正确加载页面,打开检查-控制台,出现如下警告:已阻止加载“http://localhost:8086/xxx.js”的模块,它使用了不…...
JavaEE之线程初阶(上)
前文我们知道计算机中的每一个程序都对应着一个进程,进程是CPU申请资源的最小单位,那么线程是什么呢,线程中我们又能学习到什么新的知识呢?? 我们来一探究竟 1. 认识线程(Thread) 线程是什么 …...
Spring Security @PreAuthorize注解
PreAuthorize 注解在 Spring Security 中提供了一种声明式的方法,可以在您的 Spring Boot 应用中添加方法级别的安全检查。本教程将引导您设置并有效使用 PreAuthorize,确保用户只能在具有特定角色或权限的情况下调用 REST API。 什么是 PreAuthorize&a…...
windows已建立威胁IP排查
在应急响应的时候,需要筛选出服务器建立连接的进程、PID,此代码可满足该需求实现共计2步 首先windos netstat-ano > all.txt, 上传至pycharm路径 第一步获取服务器建立连接的ip import re# 从文件读取 netstat 输出 def read_netstat_f…...
AI 大模型如何重塑软件开发流程?——技术革新与未来展望
人工智能的蓬勃发展为许多领域注入了强劲动力,而在软件开发这一关键技术领域,AI 大模型的应用正在彻底改变传统流程。从代码自动生成到智能测试,再到协同开发和流程优化,AI 正逐步成为软件开发者的得力助手,也推动企业…...
Admin.NET框架前端由于keep-alive设置缓存导致的onUnmount未触发问题
bug版本:next分支,基于.NET6版本; 问题描述: 1、添加keep-alive后,在其下运行的组件会出现onActived(被关注时)和onDeactived(取消关注时)生命周期,而组件原有生命周期为onMounted(被创造时)和onUnmounted(…...
Rest-assured
依赖 <--rest-assured依赖--><dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured</artifactId><version>4.4.0</version><scope>test</scope> </dependency><--junit5依赖-->…...
ubuntu24挂载硬盘记录
1、显示硬盘及所属分区情况。在终端窗口中输入如下命令: sudo fdisk -l 找到自己硬盘的分区 我的地址/dev/sda 2、显示硬盘及所属分区情况。在终端窗口中输入如下命令,格式化自己硬盘: sudo mkfs -t ext4 /dev/sda 3、在终端窗口中输入如下…...
Dubbo集成SpringBoot实现远程服务调用
SpringBoot集成Dubbo Dubbo介绍了解 Dubbo 核心概念和架构dubbo特性dubbo运行原理图 SpringBoot集成Dubbo技术实战一、Dubbo Spring Boot 版本关系二、引入Maven依赖demo项目基础结构引入依赖创建每个模块1)api模块2)provider模块3)consumer模…...
Redis最终篇分布式锁以及数据一致性
在前三篇我们几乎说完了Redis的所有的基础知识以及Redis怎么实现高可用性,那么在这一篇文章中的话我们主要就是说明如果我们使用Redis出现什么问题以及解决方案是什么,这个如果在未来的工作中也有可能会遇到,希望对看这篇博客的人有帮助,话不多说直接开干 一.Hotkey以及BigKey…...
TCP协议
报文格式 源/目的端口号:数据从哪个进程来,到哪个进程去32位序号:TCP传输过程中,在发送端出的字节流中,传输报文中的数据部分的每一个字节都有它的编号32位确认号:标识了报文接收端期望接收的字节序列4位首…...
Vue3 源码解析(十):watch 的实现原理
本篇文章笔者会讲解 Vue3 中侦听器相关的 api:watchEffect 和 watch 。在 Vue3 之前 watch 是 option 写法中一个很常用的选项,使用它可以非常方便的监听一个数据源的变化,而在 Vue3 中随着 Composition API 的写法推行也将 watch 独立成了一…...
2023年9月GESPC++一级真题解析
一、单选题(每题2分,共30分) 题号 123456789101112131415 答案 CDBCDBACACBBDDA 1. 我们通常说的 “ 内存 ” 属于计算机中的()。 A. 输出设备 B. 输 ⼊ 设备 C. 存储设备 D. 打印设备 【答案】 C 【考纲知识点】…...
vscode 远程连接ssh 密钥方式
目录 1. powershell 生成key: 2. 在服务器上安装公钥 linux测试成功: 3).为了确保连接成功,输入如下指令以保证以下文件权限正确: 3 开启 ssh 密钥登录 vscode 远程连接配置 python连接测试ok 查看日志: 1. po…...
字符函数和字符串函数
字符分类函数 C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。 这些函数的使用都需要包含⼀个头文件:ctype.h 这些函数的用法非常类似。 int islower ( int c )islower是能够判断参数部分是否是小写字母的。 通过返…...
如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
在现代开发中,开发者经常会遇到各种需要编写和学习新技术的任务。ChatGPT作为一种强大的自然语言处理工具,不仅可以辅助编写代码,还可以帮助学习新的编程概念和解决开发中的难题。本文将以开发一个BPMN(业务流程建模与标注&#x…...
深度学习2
四、tensor常见操作 1、元素值 1.1、获取元素值 tensor.item() 返回tensor的元素;只能在一个元素值使用,多个报错,当存在多个元素值时需要使用索引进行获取到一个元素值时在使用 item。 1.2、元素值运算 tensor对元素值的运算:…...
工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
一.背景 公司是非煤采矿业,核心业务是采选,大型设备多,安全风险因素多。当下政府重视安全,头部技术企业的安全解决方案先进但价格不低,作为民营企业对安全投入的成本很敏感。利用我本身所学,准备搭建公司的…...
单片机学习笔记 9. 8×8LED点阵屏
更多单片机学习笔记:单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…...
c++ 力扣题(1)JZ64
JZ64求123...n_牛客题霸_牛客网 因此不能使用等差求和(禁掉位运算为了禁掉等差求和,右移一位就是等差除二)、循环、递归来解决 我们运用到在 统计构造次数所学到的内容: 1.可以利用静态全局变量的思想来做 2.构造n次对象&…...
logback动态获取nacos配置
文章目录 前言一、整体思路二、使用bootstrap.yml三、增加环境变量四、pom文件五、logback-spring.xml更改总结 前言 主要是logback动态获取nacos的配置信息,结尾完整代码 项目springcloudnacosplumelog,使用的时候、特别是部署的时候,需要改环境&#…...
基于零相差前馈补偿的 PID 控制
零相差前馈补偿是一种结合前馈补偿与反馈控制的策略,旨在提高控制系统对参考信号的跟踪精度。通过设计合理的前馈补偿器,使得系统对参考输入实现零相位差的跟踪,同时利用 PID 控制器保证系统的稳定性和动态性能。 1. 原理概述 目标ÿ…...
任务通知的本质(任务通知车辆运行) 软件定时器的本质(增加游戏音效)
任务通知的本质 没有任务通知 所谓"任务通知",你可以反过来读"通知任务"。 我们使用队列、信号量、事件组等等方法时,并不知道对方是谁。使用任务通知时,可 以明确指定:通知哪个任务。 使用队列、信号量、…...
如何在 MySQL 中进行数据导入和导出?
在 MySQL 中进行数据的导入和导出是一项常见的任务,用于数据备份、恢复、迁移以及数据分析等多种用途。MySQL 提供了多种方法来进行数据的导入和导出,每种方法都有其适用的场景和特点。以下是几种常用的 MySQL 数据导入和导出方法,包括命令行…...
python语言基础-5 进阶语法-5.3 流式编程
声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。 5.3 流式编程(参考链接:https://www.zhihu.com/question/59062…...
centos 服务器 docker 使用代理
宿主机使用代理 在宿主机的全局配置文件中添加代理信息 vim /etc/profile export http_proxyhttp://127.0.0.1:7897 export https_proxyhttp://127.0.0.1:7897 export no_proxy"localhost,127.0.0.1,::1,172.171.0.0" docker 命令使用代理 例如我想在使用使用 do…...
[个人专属博客] - docker安装
🎉🎉🎉🎉🎉🎉 欢迎访问的个人博客:http://swzbk.site/,加好友,一起赚🧧🧧🧧 🎉🎉🎉🎉&…...
推荐一个QDirStat基于 Qt 的目录统计工具
QDirStat 是一款基于 Qt 的目录统计工具,旨在帮助用户分析磁盘空间使用情况并进行清理。QDirStat的一些主要特点和功能: 跨平台兼容性:QDirStat 支持 Linux、BSD、Unix-like 系统以及 macOS,确保了广泛的用户基础。 直观的数据展…...
yolo自动化项目实例解析(九) 导航
比如我们经常使用的导航,说白了就是寻找两点之间最近的路径,也就是所谓的寻路,我们需要想办法让程序知道他要去哪里,路径包含(起点、轨迹、终点) 一、录制轨迹 从平面角度来看,我们可以把区域视…...