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()}}
相关推荐
Rhys..16 分钟前
Python&Flask 使用 DBUtils 创建通用连接池
开发语言·python·mysql
Just_Paranoid18 分钟前
【Python Tkinter】图形用户界面(GUI)开发及打包EXE指南
python·gui·tkinter·pyinstaller
小宁爱Python40 分钟前
Django 基础入门:命令、结构与核心配置全解析
后端·python·django
闲人编程2 小时前
Flask 前后端分离架构实现支付宝电脑网站支付功能
python·架构·flask·支付宝·前后端·网站支付·apl
996终结者2 小时前
同类软件对比(四):Jupyter vs PyCharm vs VS Code:Python开发工具终极选择指南
vscode·python·jupyter·pycharm·visual studio code
果壳~2 小时前
【Python】爬虫html提取内容基础,bs4
爬虫·python·html
乱飞的秋天3 小时前
网络编程学习
网络·学习·php
尝试经历体验3 小时前
pycharm突然不能正常运行
python·深度学习·pycharm
jay神4 小时前
基于Python的商品爬取与可视化系统
爬虫·python·数据分析·毕业设计·可视化系统
Qlittleboy4 小时前
tp5的tbmember表闭包查询 openid=‘abc‘ 并且(wx_unionid=null或者wx_unionid=‘‘)
数据库·sql·php