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
相关推荐
qq_2975746716 小时前
【实战教程】SpringBoot 实现多文件批量下载并打包为 ZIP 压缩包
java·spring boot·后端
乔江seven1 天前
【Flask 进阶】3 从同步到异步:基于 Redis 任务队列解决 API 高并发与长耗时任务阻塞
redis·python·flask
计算机程序设计小李同学1 天前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue
Charlie_lll1 天前
力扣解题-[3379]转换数组
数据结构·后端·算法·leetcode
VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
汤姆yu1 天前
2026基于springboot的在线招聘系统
java·spring boot·后端
计算机学姐1 天前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
虚构之人1 天前
二进制漏洞挖掘(WinAFL Fuzzing)Windows篇
汇编·网络安全·信息安全·系统安全
hssfscv1 天前
Javaweb学习笔记——后端实战8 springboot原理
笔记·后端·学习
咚为1 天前
Rust tokio:Task ≠ Thread:Tokio 调度模型中的“假并发”与真实代价
开发语言·后端·rust