buuctf_练[CSCCTF 2019 Qual]FlaskLight

[CSCCTF 2019 Qual]FlaskLight

文章目录

掌握知识

内置函数的过滤,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()}}
相关推荐
IVEN_4 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang6 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮6 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling6 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮9 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽9 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers