记录最近遇到的两个设备漏洞
记录最近遇到的两个设备漏洞最近在做应急的时候遇到的两个漏洞,一个华硕路由器的 CVE-2023-39238,最开始由国外的安全研究员公开的详情,但是是个后台漏洞没啥用,在华硕路由器的后台提供了执行命令的方式,因此这个漏洞并没有什么用;另外一个是 Zyxel VPN 防火墙的未授权 RCE,只影响 VPN50, VPN100, VPN300, VPN500, VPN1000 这几个路由器,但是影响范围还是挺大的。
0x01 CVE-2023-39238该漏洞主要影响
华硕 RT-AX55:3.0.0.4.386_51948 或更高版本
华硕 RT-AX56U_V2:3.0.0.4.386_51948 或更高版本
华硕 RT-AC86U:3.0.0.4.386_51915 或更高版本
众所周知,华硕路由器在启动时需要从 nvram 中读取一些部分环境,因此模拟启动重点放在这部分。好在一些大佬写好了工具,如 https://github.com/firmadyne/libnvram、https://github.com/zcutlip/nvram-faker。还有专门针对华硕路由器的编译 ...
Rust 从 0 到 1(所有权和借用,复合类型)
Rust 从 0 到 1 学习记录(二)所有权和借用
在以往,内存安全几乎都是通过 GC 的方式实现,但是 GC 会引来性能、内存占用以及 Stop the world 等问题,在高性能场景和系统编程上是不可接受的,因此 Rust 采用了与众不同的方式:所有权系统。
在程序运行时,都需要和计算机内存打交道,如何申请,如何释放不用的空间。在计算机语言不断演变的过程中,出现了三种流派:
垃圾回收机制(GC),在程序运行的过程中不断的寻找不再使用的内存,如:Go,Python,Java
手动管理内存的分配和释放:在程序中,通过函数调用的方式来申请和释放内存,如:C++
通过所有权来管理内存,编译器在编译时会根据一系列规则检查
Rust 选了所有权来管理内存,这种检查在编译期就完成了,对运行的程序不会造成任何性能的损失。
栈与堆栈栈中的所有数据都必须占用已知且固定大小的内存空间。栈中的数据遵循先进后出的原则,增加数据叫进栈,移除数据叫出栈。
堆与栈不同,对于大小未知或者可能变化的数据,我们需要将它存储在堆上。堆是一种缺乏组织的数据结构,因此可能带来隐藏的安全问题。
当向堆上放入数据时, ...
Rust 从 0 到 1 (环境搭建,基础类型)
Rust 从 0 到 1 学习记录(一)0x01 Rust 简介
Rust 最早是 Mozilla 雇员 Graydon Hoare 的个人项目。从 2009 年开始,得到了 Mozilla 研究院的资助,2010 年项目对外公布,2010 ~ 2011 年间实现自举。自此以后,Rust 在部分重构 -> 崩溃的边缘反复横跳(历程极其艰辛),终于,在 2015 年 5 月 15 日发布 1.0 版。
Rust 是一种快速、高并发、安全且具有授权性的编程语言。
Rust 的优势:
与 Go 相比,Rust 表达能力更强,性能更高,线程更安全,包管理更好
与 C++ 相比,性能旗鼓相当,Rust 安全性更好
与 Java 相比,Rust 性能全面领先,占用内存更小
与 Python 相比,性能肯定没得说,对环境要求低,(Python 在安装依赖时总会出现各种各样的坑
没有 GC(垃圾回收机制),所以是安全度极高的语言
0x02 环境搭建基本环境:
macOs
Golang IDE
Golang IDE Plugins Rust(目前已经停止维护,可以使用 RustRover ...
从 0 开始学习 VxWorks
从 0 开始学习 VxWorks在开始之前,让我们来回顾一下什么是实时操作系统,什么是分时操作系统。
实时操作系统(RTOS)是一种专门设计用于满足实时应用程序需求的操作系统。实时应用程序对任务的响应时间要求非常高,必须在严格的时间限制内完成。
分时操作系统是一种多任务处理系统,它通过在多个任务之间切换执行,为每个任务分配时间片。分时系统的目标是在多个任务之间共享处理器时间,以提高系统的整体吞吐量和资源利用率。
两者的主要区别包括:
响应时间要求:
实时操作系统: 具有对任务响应时间的硬实时要求,即任务必须在预定的时间内完成。
分时操作系统: 没有硬实时要求,任务的完成时间可以相对灵活,系统主要关注提高整体效率。
任务切换机制:
实时操作系统: 任务切换是由于时间限制而严格控制的,以确保在规定的时间内完成任务。
分时操作系统: 任务切换是基于时间片轮转或优先级调度等策略,以确保公平分配处理器时间。
应用领域:
实时操作系统: 通常用于需要满足严格时间限制的应用领域,如航空航天系统、医疗设备、工业自动化等。
分时操作系统: 通常用于一般计算机系统,如个人计算机、服务器等,其中任 ...
GeoServer SQL 注入漏洞分析(CVE-2023-25157)
GeoServer SQL 注入漏洞分析(CVE-2023-25157)0x01 GeoServer & GeoToolsGeoServer 是一个用 Java 编写的开源软件服务器,允许用户共享和编辑地理空间数据,GeoServer 基于 Spring 开发,使用到了 GeoTools 库。
GeoTools 是一个开源的 Java 库,提供对地理数据空间工具,GeoServer 许多核心功能使用 GeoTools 实现,如:数据读写转换。
0x02 漏洞介绍GeoServer 和 GeoTools 发布了 CVE-2023-25157 和 CVE-2023-25158,OGC 查询存在 SQL 注入漏洞。GeoServer 支持 OGC 过滤器表达式语言和 OGC 通用查询语言 (CQL),主要影响 Web 要素服务 (WFS) 、Web 地图服务 (WMS) 和 用于 ImageMosaic 覆盖的 Web 覆盖服务 (WCS) 协议,已知:
PropertyIsLike 与带有字符串字段的任何数据库一起使用时,或者与启用了编码功能的 PostGIS 数据存储一起 ...