BugKu:Flask_FileUpload

1.打开此题

通过题目知道这个是一个关于Flask的文件上传的漏洞题目

2.查看网页源代码

Flask是一个使用Python编写的轻量级Web应用框架。

这里又提示说用python来运行结果,那很有可能就是要通过python脚本来抓取flag

3.编辑Python脚本

工具:pycharm

文件类型:在这个文件的路径上找到file文件,然后修改文件后缀为.jpg或.png都可以

代码:为什么是这个代码呢,下面解答!!!

python 复制代码
import os
os.system('ls / ')

4.上传脚本文件

提示文件上传成功,但是没有flag呀,差点就要放弃了,先别着急,查看一下源代码

小结:这里有flag文件说明我们的代码没错,我们来探究其原因。

首先对于这个有flask构建的web文件上传程序,其中包含了一个文件上传的端点 /uploader。当客户端通过 POST 请求发送文件到 /uploader 时,服务器会检查是否有文件被上传,然后将文件保存到指定的上传文件夹中。在文件保存后,os.system(' ls /') 这行代码被执行,它会在服务器上执行 ls / 命令,列出根目录下的所有文件和文件夹。

5.抓取flag文件

修改代码:

python 复制代码
import os
os.system('cat /flag')

文件类型:我这里用的是.jpg,可以体验一下不同文件类型是否也能拿到结果

上传文件,与之前的上传步骤是一样的,拿到flag!!!

6.学有所思

flask框架:

Flask是一个非常小的PythonWeb框架,被称为微型框架;只提供了一个稳健的核心,其他功能全部是通过扩展实现的;意思就是我们可以根据项目的需要量身定制,也意味着我们需要学习各种扩展库的使用。

文件上传漏洞:

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,"文件上传" 本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

相关推荐
xlrqx1 分钟前
商丘家电清洗培训零基础学习需掌握哪些要点零基础到底能不能学
python·学习
环境栈笔记6 分钟前
高性价比指纹浏览器推荐与选型:如何对照价格和实际可用功能筛选候选
前端·人工智能·后端·自动化
卷无止境6 分钟前
Python虚拟环境江湖:从venv到uv,如何避开依赖冲突的坑
后端·python
玉鸯11 分钟前
Agent Harness 工程核心架构拆解与 300 行代码实现
python·agent
米码收割机22 分钟前
【Python】Django 电子设备商城系统(源码+说明文档)[独一无二]
开发语言·python·django
互联网中的一颗神经元27 分钟前
小白python入门 - 38. 动态内容:接口优先与自动化扫盲
开发语言·python·自动化
卷无止境31 分钟前
模块与包:Python 代码组织的两层逻辑
后端·python
夏日清风有你1 小时前
OpenDataLab 数据集下载
python
黑客-秋凌1 小时前
使用Python+selenium实现第一个自动化测试脚本
开发语言·自动化测试·软件测试·python·selenium·测试工具
明月_清风1 小时前
🛡️ Web3 安全入门:新手防骗完全指南
后端·web3