LLM:永别了牢笼!
1. 前言从 GPT-3 模型发布的那一刻起,就有研究员开始研究如何控制大模型的输出,在这个过程中研究员与大模型厂商之间开始不断的对抗,在对抗的过程中大模型不断更新升级,攻击技术也不断的升级。从最开始的直接注入演变成情境构造、逐步诱导、编码混淆等方式,再后来演变成DAN(Do Anything Now)框架,以及 DAN 的变体STAN、ANTI-DAN等诸多越狱框架 。
提示词的攻击可以分为:
提示词注入
提示词泄漏
越狱
2. 提示词注入简单的注入在大模型发布的初期,对于模型越狱没有很好的预防,用户可以通过简单提示词就让大模型输出特定内容,比如:
图1 简单的提示词注入
慢慢的大模型厂商开始对于发布模型进行修复工作,在后面发布的模型中已经无法通过一些简单的提示词注入来达成控制效果,后面出现了情景构造的提示注入。
情景构造情景构造可以是虚拟的角色设定如:
1I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should s ...
智能合约安全入门
智能合约安全入门重入攻击(Re-Entrancy)普通重入攻击(Re-Entrancy)重入攻击是指:攻击者可以反复调用目标合约的同一个函数,在前一次函数调用还未完成时就再次进入该函数,从而造成意外的后果,这个后果一般来说都是资金的损失。
首先来看代码,下面是一个存在重入攻击 EtherStore 合约,
123456789101112131415161718192021contract EtherStore { mapping(address => uint256) public balances; function deposit() public payable { balances[msg.sender] += msg.value; } function withdraw() public { uint256 bal = balances[msg.sender]; require(bal > 0); (bool sent,) = msg.s ...
CVE-2024-36401 GeoServer 前台代码执行漏洞
CVE-2024-36401 GeoServer 前台代码执行漏洞0x01 简介GeoServer 是一个开源的地理信息服务器,用于发布和共享地理空间数据。它是由 GeoTools 库驱动的,GeoTools 是一个用于处理地理数据的 Java 库。GeoServer 允许用户从各种数据源(如 Shapefile、PostGIS、Oracle Spatial、ArcSDE 等)发布地理空间数据,并通过标准的 OGC(Open Geospatial Consortium)协议(如 WMS、WFS、WCS 等)进行访问。
0x02 漏洞概述CVE-2024-36401 是由于对 XPath 表达式错误的解析导致未授权的攻击者能够执行任意代码。
The GeoTools library API that GeoServer calls evaluates property/attribute names for feature types in a way that unsafely passes them to the commons-jxpath library which ...
CVE-2024-29824 Ivanti EPM SQL 注入复现与分析
CVE-2024-29824 Ivanti EPM SQL 注入复现与分析0x01 简介Ivanti Endpoint Manager (EPM) 是一款由 Ivanti 公司开发的综合性端点管理解决方案。它旨在帮助企业有效管理和保护其网络中的所有端点设备,包括桌面、笔记本电脑、服务器、移动设备和虚拟环境。
0x02 漏洞概述CVE-2024-29824 是未授权的 SQL 注入并可以执行系统任意代码。这么一看危害还挺大的,但是在官方的公告中提出的是:
An unspecified SQL Injection vulnerability in Core server of Ivanti EPM 2022 SU5 and prior allows an unauthenticated attacker within the same network to execute arbitrary code.
漏洞利用的条件是同一网络内的未授权用户才能 SQL 注入。
0x03 影响版本 version <= Ivanti EPM 2022 SU5
0x04 环境搭建下载安 ...
Rust 从 0 到 1 (生命周期、返回值、错误处理)
Rust 从 0 到 1 (生命周期、返回值、错误处理)生命周期是 Rust 特有的,在 Rust 中函数和变量有其作用域,在一个函数中可以嵌套作用域,如:
123456fn main(){ let a = 0; // a { let b = 2; // b } // end b } // end a
对于生命周期其实就是引用的有效作用域,大多数情况下无需手动声明生命周期,编辑器可以进行自动推导,当然也有无法推导的情况
悬垂指针和生命周期生命周期的主要作用是避免悬垂引用,它会导致程序引用了不该引用的数据,如:
12345678910{ let r; { let x = 5; r = &x; } println!("r: {}", r);}
在这里首先是 let r 没有初始化,在其次是 r 引用了内部作用 ...
OpenMetadata 身份认证绕过漏洞与多个表达式注入漏洞复现
OpenMetadata 身份认证绕过漏洞与多个表达式注入漏洞复现0x01 简介OpenMetadata是一个用于数据发现、数据沿袭、数据质量、可观察性、治理和团队协作的一体化平台。它是发展最快的开源项目之一,拥有充满活力的社区,并被各行业垂直领域的众多公司采用。OpenMetadata 由基于开放元数据标准 API 的集中式元数据存储提供支持,支持各种数据服务的连接器,可实现端到端元数据管理,让您可以自由地释放数据资产的价值。
0x02 漏洞概述OpenMetadata 容易受到多个 SpEL 表达式注入和身份验证绕过的攻击,从而导致预身份验证远程代码执行。相关的漏洞编号如下:
CVE-2024-28253
CVE-2024-28254
CVE-2024-28845
CVE-2024-28848
CVE-2024-28255(Authentication Bypass)
0x03 影响版本OpenMetadata < 1.2.4
0x04 环境搭建本次复现用到的环境为了 OpenMetadata 1.2.2,可以 Github 下载 docker-compose.yml 一 ...
VxWorks 启动流程 & 溢出分析
VxWorks 启动流程分析以及溢出测试在前面的文章成功编译并启动了 VxWorks,这边篇文章将介绍 VxWorks 的启动流程,为了更好的研究启动流程我们使用 gdb 对 vxworks 进行调试。
1. 编译可调式的 vxworks首先新建 VSB 项目,配置如图 1-1 所示:
图 1-1 新建 BSP
下一步为 BSP 项目添加 DEBUG 配置选项,操作步骤 如下:
在 Project Explorer 视图中展开 BSP 项目
右键单击Source Build Configuration ,然后选择 Edit Source Build Configuration
搜索 debug 关键字,选择 Global Debug Flag 将 value 改为 y
最终效果如图1-2 所示:
图 1-2 配置 VSB debug
最后构建 VSB。构建完 VSB 之后创建 VIP,如图 1-3 所示:
图 1-3 新建 VIP
在 VIP 中需要配置 INCLUDE_DEBUG_AGENT 和 INCLUDE_DEBUG_AGENT_START,可以搜索 DEB ...
JumpServer 漏洞复现(CVE-2024-29201&CVE-2024-29202)
JumpServer 漏洞复现(CVE-2024-29201&CVE-2024-29202)0x01 简介JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。
0x02 漏洞概述CVE-2024-29201 远程代码执行漏洞,该漏洞可绕过 JumpServer 的 Ansible 中的输入验证机制,在 Celery 容器中执行任意代码CVE-2024-29202 Jinin2 模板注入漏洞,该漏洞是有 JumpServer 的 Ansible 中存在 Jinja2 模板注入,在 Celery 容器中执行任意代码。值的注意的是:两个漏洞利用的条件都需要账号且至少有一个资产。
0x03 影响版本v3.0.0 <= JumpServer <= v3.10.6
0x04 环境搭建首先下载官方提供的脚本,下载后编辑 quick_start.sh,将脚本中的 VERSION 修改为存在漏洞版本,如:V3.10.6。如下图所示:
等待服务启动,启动完成后访问 http://ip/
JumpServer 默认账号密码为 adm ...
GitLab任意用户接管漏洞复现(CVE-2023-7028)
GitLab任意用户接管漏洞复现(CVE-2023-7028)0x01 简介GitLab 是一个基于 Git 版本控制系统的开源软件平台,用于软件开发和协作。它提供了代码仓库管理、问题跟踪、持续集成、代码审查等功能,旨在帮助团队高效地协作和管理软件开发项目。
0x02 漏洞概述CVE-2023-7028 GitLab 任意用户密码重置漏洞,攻击者可以利用忘记密码功能,构造恶意请求获取任意账号密码重置链接从而重置密码。因此漏洞的利用条件为:
任意用户的邮箱
邮件功能正常使用
总得来说利用条件还是有点难度的。
0x03 影响版本16.1 <= Gitlab CE/EE < 16.1.6
16.2 <= Gitlab CE/EE < 16.2.9
16.3 <= Gitlab CE/EE < 16.3.7
16.4 <= Gitlab CE/EE < 16.4.5
16.5 <= Gitlab CE/EE < 16.5.6
16. ...
CVE-2024-21893 Ivanti Connect Secure SSRF to RCE
CVE-2024-21893 Ivanti Connect Secure SSRF to RCE0x01 简介Ivanti Connect Secure 为远程和移动用户提供了一个无缝的、具有成本效益的SSL VPN 解决方案,使他们能随时随地从任何可上网的设备访问企业资源。
0x02 漏洞概述CVE-2024-21893 是存在 Ivanti Connect Secure SAML 组件中的 SSRF 漏洞,该漏洞主要是由于使用存在漏洞第三方库,并且第三方库没有及时的更新导致的,可以绕过 CVE-2024-21887 命令注入漏洞的补丁,达到未授权 RCE 的目的。
CVE-2024-21887 具体分析可以查看 dnslaoge 师傅的分析,总结一下就是 /api/v1/license/keys-status/ 存在命令注入。
0x03 影响版本Ivanti Connect Secure(9.x、22.x)Ivanti Policy Secure(9.x、22.x)Ivanti Neurons for ZTA SAML组件(这个只能SSRF)
0x04 环境搭建本次复现使用 Iva ...