首页 > 其他分享 >BugKu-Web-Flask_FileUpload(模板注入与文件上传)

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

时间:2023-12-13 16:32:07浏览次数:30  
标签:Web FileUpload 开发人员 Flask flag 组件 os

Flask

Flask是一个使用Python编写的轻量级Web应用框架。它是一个微型框架,因为它的核心非常简单,但可以通过扩展来增加其他功能。Flask的核心组件包括Werkzeug,一个WSGI工具箱,以及Jinja2,一个模板引擎。 Flask使用BSD授权,这意味着它遵循开源许可证,允许用户自由地使用、修改和分发。Flask也被称为“microframework”,因为它使用简单的核心,用扩展来增加其他功能。与一些其他框架相比,Flask更加灵活、轻便和安全,而且容易上手。 在开发Web应用程序时,Flask提供了一个构建块,允许开发人员根据需要自由地选择和组合不同的组件。这使得开发人员能够更好地控制应用程序的结构和功能。 Flask没有默认使用的数据库或窗体验证工具,这意味着开发人员需要自行选择这些组件。这为开发人员提供了更大的灵活性,可以根据应用程序的需求选择最适合的组件。 总的来说,Flask是一个轻量级的Web应用框架,具有简单性和灵活性,适合小型团队在短时间内实现功能丰富的中小型网站或Web服务。

题目环境 image.png

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

使用burpsuite工具

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

首先编写python脚本文件

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

将次文件命名为png格式

首先使用火狐打开题目 顺便打开burp准备抓包 image.png image.png Repeater放包 Send image.png

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

查看flag内容 image.png

在数据包里面改外部执行命令 cat /flag 查看f根目录下flag的内容

Send image.png 拿下flag: flag{a6264dc026eee12800ee179de0f87807}

标签:Web,FileUpload,开发人员,Flask,flag,组件,os
From: https://blog.51cto.com/u_16306712/8804067

相关文章

  • JavaWeb - Day06 -MySQL-DDL、DML
    01.MySQL-课程介绍什么是数据库?数据库:英文为DataBase,简称DB,它是存储和管理数据的仓库。像我们日常访问的电商网站京东,企业内部的管理系统OA、ERP、CRM这类的系统,以及大家每天都会刷的头条、抖音类的app,那这些大家所看到的数据,其实都是存储在数据库中的。最终这些数据,只是在......
  • Web 安全之 DNS 信息收集指南
    简介在进行网络安全评估和渗透测试时,DNS(DomainNameSystem)信息收集是一个至关重要的环节。通过获取目标域名的DNS信息,渗透测试人员可以获得有关目标系统的关键信息,为后续攻击策略制定提供基础。本文将深入介绍DNS信息收集的方法和工具,以帮助安全专业人员和渗透测试人员更好地......
  • javaWeb项目开发文件上传与下载功能实现
    Web开发文件上传与下载依赖<!--java生成excel文件插件--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version></dependency><!--文件上传--><dependency><g......
  • web网站有验证码,appscan如何配置才能成功扫描
    1、点击完全扫描配置 2.登录方法选择‘无’  3、添加token  4、进行手动探测,并排除登录页面手动探测,从登录后开始 ......
  • react-native中嵌套的WebView发版后未更新问题
    问题使用了react-native-webview的WebView嵌套h5页面,但是当h5发版之后,重新打开app,h5还是发版前的页面。并且这个缓存严重,每次都要清理缓存或者重装app,页面不能及时更新,影响用户体验。解决rn项目中,在h5链接后边拼接时间戳,代码如下:注意:这里缓存使用的是@react-native-async-sto......
  • 基于 Webpack5 Module Federation 的业务解耦实践
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:贝儿前言本文中会提到很多目前数栈中使用的特定名词,统一做下解释描述dt-common:每个子产品都会引入的公共包(类似NPM包)AppMenus:在......
  • JavaWeb文件上传和下载
    JavaWeb文件上传和下载(含文件上传重名覆盖解决方案)快速回忆,快就完了(哈哈)。我们这里借助的是:commons-fileupload-1.2.1.jarcommons-io.jar1文件上传1.1步骤0、前端页面的from表单设置enctype=“multipart/form-data”method=“post”<formaction="fileUpDown/FileUpServle......
  • 快速掌握 Websocket 接口测试|Eolink Apikit
    什么是websocket?WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议。websocket的原理websocket约定了一个通信的规范,通过......
  • JavaWeb教程
    JavaScriptJS是一门弱类型的语言,变量的数据类型由后面的赋值的类型决定。==是等于,做简单的字面值的比较;===是全等于,除了做字面值的比较外,还会比较两个变量的数据类型。vara="12";varb=12;a==b;//truea===b;//false在JavaScript中,所有的变量都可以作为一个布尔类型的......
  • WebSocket硬核入门:200行代码,教你徒手撸一个WebSocket服务器
    1、引言最近正在研究WebSocket相关的知识,想着如何能自己实现WebSocket协议。到网上搜罗了一番资料后用Node.js实现了一个WebSocket协议服务器,倒也没有想象中那么复杂,除去注释语句和console语句后,大约200行代码左右。本文分享了自已开发一个WebSocket服务端实现......