aiohttp路径遍历漏洞 | CVE-2024-23334

admin 2024年2月28日12:57:43评论21 views字数 1021阅读3分24秒阅读模式

本文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

漏洞说明

aiohttp 是一个开源的用于 asyncio 和 Python 的异步 HTTP 客户端 / 服务器框架。

当使用 aiohttp 作为 Web 服务器并设置静态路由时,若 follow_symlinks 选项设为 True,则不会验证指定文件路径是否位于根目录内。攻击者可以通过构造恶意的请求,访问服务器任意文件。

影响版本

1.0.5 <= aiohttp < 3.9.2

漏洞复现

aiohttp路径遍历漏洞 | CVE-2024-23334

根据微步X情报说明:

经分析研判,该漏洞的利用条件为: 

  1. 使用aiohttp实现Web服务;

  2. 配置aiohttp中的静态资源解析,使用了不安全的参数follow_symlinks,代码如routes.static("/static", static_dir, follow_symlinks=True)

所以让星火大模型生成环境代码:

Q:使用aiohttp启动一个web服务,并且配置aiohttp中的静态资源解析static,且follow_symlinks设置为true
A:import aiohttpfrom aiohttp import webasync def handle(request):    return web.Response(text="Hello, world")app = web.Application()app.router.add_get('/', handle)# 配置静态资源解析staticapp.router.add_static('/static/', path='./static', follow_symlinks=True)if __name__ == '__main__':    web.run_app(app)

aiohttp路径遍历漏洞 | CVE-2024-23334

windows启动web服务:

aiohttp路径遍历漏洞 | CVE-2024-23334

aiohttp路径遍历漏洞 | CVE-2024-23334

Linux启动web服务:

aiohttp路径遍历漏洞 | CVE-2024-23334

aiohttp路径遍历漏洞 | CVE-2024-23334

修复建议

  • 官方建议

    升级到3.9.2及以上

  • 临时建议

    使用反向代理服务器(例如nginx)处理静态资源
    如果使用follow_symlinks=True,请立即禁用该选项

    使用防护类设备进行防护,拦截../../等路径穿越字符

本文章仅用于学习交流,不得用于非法用途

星标加关注,追洞不迷路

原文始发于微信公众号(才疏学浅的H6):aiohttp路径遍历漏洞 | CVE-2024-23334

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月28日12:57:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   aiohttp路径遍历漏洞 | CVE-2024-23334http://cn-sec.com/archives/2533036.html

发表评论

匿名网友 填写信息