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

文件上传漏洞:

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

相关推荐
程序猿DD14 分钟前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
VidDown2 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
余槐i3 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8263 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
死磕音视频4 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林4 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne5 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF5 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li6 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
databook6 小时前
用 Pydantic AI 从零搭建一个能干活的 AI Agent
人工智能·python