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}

相关推荐
IT_Beijing_BIT13 分钟前
python多进程程序设计 之一
python
打败40422 分钟前
nginx_shell脚本扩展配置虚拟主机三种方式
运维·nginx·docker·flask
ac-er888822 分钟前
数据爬虫中遇到验证码的解决方法
开发语言·爬虫·python
Python极客之家1 小时前
基于机器学习的乳腺癌肿瘤智能分析预测系统
人工智能·python·机器学习·毕业设计·xgboost·可视化分析
Niu_brave1 小时前
Python基础知识学习(2)
开发语言·python·学习
geekrabbit1 小时前
Ubuntu 22.04上安装Python 3.10.x
linux·python·ubuntu
deflag1 小时前
第T1周:Tensorflow实现mnist手写数字识别
人工智能·python·机器学习·分类·tensorflow
Zucker n1 小时前
猫狗识别大模型——基于python语言
开发语言·python
数云界2 小时前
使用 VSCode 在 Python 中创建项目环境
ide·vscode·python
m0_608570982 小时前
vscode对python进行多卡调试
ide·vscode·python