lua 遍历删除_Cisco ASA/FTD未授权文件删除漏洞简要分析

2020年5月,思科发布关于ASA和FTD软件的CVE-2020-3187漏洞通告,该漏洞允许未授权攻击者删除web服务文件,影响启用AnyConnect或WebVPN的设备。重启设备后,删除的文件会还原。目前已有PoC公开,建议用户尽快安装官方补丁。漏洞主要涉及lua脚本交互,存在路径遍历风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创 admin河马 这里是河马 今天

漏洞简述

思科官方在2020年5月6号发布Cisco Adaptive Security Appliance(ASA)和Firepower Threat Defense(FTD)软件web服务目录遍历漏洞(CVE-2020-3187)通告。该漏洞允许未授权的远程攻击者在目标系统上删除web服务文件系统上的文件。

该漏洞目前影响配置启用AnyConnect或WebVPN的设备,无法操作ASA或FTD系统文件或底层操作系统(OS)文件。同时,当设备重新启动后,删除的文件会被还原。

目前已有PoC公开发布,河马安全研究响应小组建议广大用户第一时间安装补丁。

漏洞分析

【提示】 该部分分析仅用于研究学习所用,请勿发起攻击测试。

在思科的ASA设备中,webvpn服务主要是通过lua脚本的方式完成逻辑交互部分。

c0e4329e3e73f40d0663358fe6971db6.png
-- Copyright (C) 2006-2008 by Cisco Systems, Inc.dofile("/+CSCOE+/portal_inc.lua")SET_HTTP_RESP_HEADER(AWARE_HDR_CONTENT_TYPE,"text/plain")local token = HTTP_COOKIE_BY_NAME ("token") or ""  -- set tokenlocal session = SESSION_GET_ID (token)             -- step inADD_HTTP_RESP_HEADER("webvpn", session or "")

其中SESSION_GET_ID函数来自portal_inc.lua脚本中

-- code snippet portal_inc.luafunction SESSION_GET_ID (token)    local session = nil    if nil == token then        return session;    end    local name = "/sessions/" .. token  -- path traversal    local a = lfs.attributes (name)    if a and a.mode == "file" then        local fp = io.open (name, "r")        if nil ~= fp then            session = fp:read ("*all")            fp:close ()            os.remove (name)            -- trigger file delete        end    end    return sessionend

影响版本

cc788bec333a188ad9e90048096f45d2.png
859b125126ead3e558614ed3dd534306.png

修复建议

  1. 及时安装思科官方提供的最新补丁

参考

https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-path-JE3azWw43

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值