Flask开启Debug模式

Flask开启Debug模式

  • [1. 漏洞原理](#1. 漏洞原理)
  • [2. 漏洞危害](#2. 漏洞危害)
  • [3. 漏洞修复](#3. 漏洞修复)

1. 漏洞原理

在 Flask 中:

python 复制代码
app.run(debug=True)
# 或
FLASK_ENV=development
FLASK_DEBUG=1

会启用 Werkzeug Debugger,其核心功能是:自动重载代码,显示完整异常堆栈,并且会提供一个交互式 Python 控制台(Console)

一般来讲,在生产环境中,一旦可被访问,等同于远程代码执行(RCE)

想要弹出debug页面,需要网站本身抛出一个未被捕获的异常,高版本的 Flask 有一个 PIN 来保护 Console 页面,防止任意代码执行,但是这个 PIN 生成的算法相对固定,可以被破解

2. 漏洞危害

Console 可能导致RCE,即使无法实现RCE,也会导致信息泄漏:

  • 服务器绝对路径
  • 环境变量
  • 数据库连接字符串
  • API Key / Token
  • Flask SECRET_KEY
  • 等等

漏洞实际的危害根据可利用的程度来定

3. 漏洞修复

禁用 debug 模式:

python 复制代码
app.run(debug=False)

或者:

bash 复制代码
export FLASK_ENV=production
相关推荐
木雷坞10 分钟前
Home Assistant 升级翻车:一套 Docker Compose 回滚清单
后端
李小狼lee10 分钟前
《spring如此简单》第四节--IOC思想的实现,spring启动后发生了什么
后端·面试
SamDeepThinking13 分钟前
面试官问Bean线程安全,你该从架构角度回答
java·后端·面试
用户7138742290017 分钟前
git fsck 深度解析 Git 仓库的体检医生
后端
谪星·阿凯21 分钟前
Linux提权全攻略博客
linux·运维·服务器·网络安全
风度前端22 分钟前
阿里云宝塔面板部署https证书
linux·后端·https
还是鼠鼠31 分钟前
AI掘金头条新闻系统 (Toutiao News)-相关推荐
后端·python·mysql·fastapi·web
AskHarries32 分钟前
OpenClaw 是什么?为什么它不是普通 AI Agent
人工智能·后端·程序员
Tsuki_tl34 分钟前
【总结】Java的线程状态
java·后端·面试·多线程·并发编程·线程状态