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}

相关推荐
砌玉成璧30 分钟前
Flask+HTML+Jquery 文件上传下载
flask·html·jquery
DourPanda33 分钟前
polarctf-web-[rce1]
linux·网络协议·网络安全
小oo呆1 小时前
【学习心得】Jupyter 如何在conda的base环境中其他虚拟环境内核
python·jupyter·conda
小白学大数据2 小时前
Scrapy框架下地图爬虫的进度监控与优化策略
开发语言·爬虫·python·scrapy·数据分析
浊酒南街2 小时前
TensorFlow之微分求导
人工智能·python·tensorflow
立秋67892 小时前
用Python绘制梦幻星空
开发语言·python·pygame
alpszero2 小时前
YOLO11解决方案之对象裁剪探索
人工智能·python·计算机视觉·yolo11
事业运财运爆棚2 小时前
中exec()函数因$imagePath参数导致的命令注入漏洞
web安全
白云千载尽2 小时前
相机、雷达标定工具,以及雷达自动标定的思路
python·自动驾驶·ros
咕噜咕噜啦啦3 小时前
python爬虫实战训练
爬虫·python