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()}}
相关推荐
2301_780789662 分钟前
WAF如何应对金融领域的网络威胁和黑客攻击
服务器·网络·安全·web安全·金融
江上清风山间明月10 分钟前
Android 系统中进程和线程的区别
android·python·线程·进程
mit6.82417 分钟前
[LivePortrait] docs | Gradio用户界面
python
Vince丶1 小时前
“伪”局域网
笔记
听风吟丶1 小时前
Java 函数式编程深度实战:从 Lambda 到 Stream API 的工程化落地
开发语言·python
Pure_White_Sword2 小时前
Bugku-web题目-xxx二手交易市场
web安全·网络安全·ctf
饮长安千年月2 小时前
玄机-第八章 内存马分析-java03-fastjson
开发语言·python·安全·web安全·网络安全·应急响应
johnny2332 小时前
编辑器和笔记软件汇总(三):NotebookLM、note-gen、MiaoYan、LetsMarkdown、DocFlow
笔记
天天爱吃肉82182 小时前
新能源汽车动力系统在环(HIL)半实物仿真测试台架深度解析
人工智能·python·嵌入式硬件·汽车
侯小啾2 小时前
Ubuntu NAT模式设置静态 IP 地址
tcp/ip·ubuntu·php·静态ip