buuctf_练[CSCCTF 2019 Qual]FlaskLight

CSCCTF 2019 QualFlaskLight

文章目录

掌握知识

内置函数的过滤,globals变量的过滤,调用内部变量或函数的OS函数进行命令执行

解题思路

  1. 打开题目链接,很明显看标题和内容是flask模块的ssti模板注入了,查看源码,发现了传参的参数和请求方法
  1. 先测试一下{``{7*7}},正常返回49,证明存在ssti模板注入
  1. 直接使用内置函数url_for调用其内部的OS函数来进行命令执行,但发现页面报错500,看来多半是有过滤了,直接执行url_for也报错,证明过滤了url_for,测试config成功返回内容
  1. 尝试调用config的内部OS命令,但依旧报错,还有过滤,再次测试发现是globals被过滤了
  1. 使用命令拼接,将globals分成两半拼接一起就能绕过过滤了['__glo'+'bals__'],只不过必须使用\[\]的字典键值访问的形式,不能用.的形式了
  1. 查看根目录发现了flag文件,但是cat返回为空,以为命令被过滤了,后面才察觉原来是个目录,cd到文件下,查看到了flagapp.py源码,拿下flag

关键paylaod

复制代码
{{config.__class__.__init__['__glo'+'bals__']['os'].popen('ls').read()}}
相关推荐
今天AI了吗13 分钟前
Codex 配置自定义 AI API 完整指南:从零到一接入你的专属模型
java·人工智能·python·数据分析·embedding
阿童木写作19 分钟前
跨境电商批量图片翻译与视频字幕翻译工具推荐
python·音视频
一条破秋裤27 分钟前
17_ADC原理与转换模式
笔记·stm32·学习
leihefeng27 分钟前
手写数字识别:KNN vs 逻辑回归实战
python·算法·机器学习·逻辑回归·scikit-learn
知产xiao_xin29 分钟前
C语言运算符的种类、运算优先级和结合性
笔记
SunnyDays101139 分钟前
如何使用 Python 从 Word 文档中提取图片
python·word
2601_9620973644 分钟前
Pathway 实时RAG新方案:抛弃Spark、Flink,生产级数据管道
python·流处理·大数据集群·实时rag·pathway
三十岁老牛再出发1 小时前
9月3日总结
python
2601_962299881 小时前
Linux下运行Python脚本
linux·python·ubuntu·脚本·命令
专注仿真1 小时前
Vapor框架构建及Swift for TensorFlow图像分析
java·其他