aiohttp漏洞分析

admin 2024年2月28日13:50:12评论18 views字数 587阅读1分57秒阅读模式

漏洞说明

aiohttp是一个基于asyncio库实现的HTTP客户端/服务器框架,它支持高性能和高并发的HTTP通信。aiohttp用于编写异步的Web服务器、Web应用程序或HTTP客户端,以提供对Web和HTTP资源的访问和操作。aiohttp3.9.2之前版本存在路径遍历漏洞,该漏洞源于当follow_symlinks设置为True 时,不会进行检查读取的文件是否位于根目录内,这可能会导致目录遍历漏洞。

漏洞复现

aiohttp漏洞分析

漏洞分析

漏洞触发

根据补丁对比分析,在web_urldispatcher.py文件中,对初使传入的prefix,dictory做了直接带入,没有任何处理直接拼接到了文件路径后面(mac 这里没有跳转到根目录,centos复现成功是跳到了根目录)

aiohttp漏洞分析

判断了follow_symlinks的值,如果为True就不会调用创建相对路径,从而向下直接读取文件

aiohttp漏洞分析

静态路由注册

app.router.add_static('/static', "static/")

这里主要是对自定义的静态路由注册进行参数配置,配置完成后调用 self.register_resource(resource)进行路由注册

aiohttp漏洞分析

发现只要是注册了静态路由,自定义的路由情况可能会导致访问目录不同 如以下

aiohttp漏洞分析

aiohttp漏洞分析

甚至如果设置跟路径为/ 可以用任意的或者/直接去访问利用

aiohttp漏洞分析

aiohttp漏洞分析

原文始发于微信公众号(e0m安全屋):aiohttp漏洞分析

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

发表评论

匿名网友 填写信息