[RootersCTF2019]I_<3_Flask——二营长,我的脚本呢?

31 篇文章 3 订阅
8 篇文章 0 订阅

[RootersCTF2019]I_<3_Flask

前言

写这篇文章的时候,这道题已经是前一天做的了,虽然题目很简单,但是这次还是学到了一些新的东西。之前,在安装tplmap的时候遇到了一些麻烦导致我这里一直都用不了tplmap。这次的题目我去看了看大师傅们写的WP,看到很多师傅们都在用tplmap,索性我就直接下定决心要把tplmap搞好。当然就这道题来讲,还不是那种非用不可的水平,很简单的一道题目,手注就行。

正文

手注

首先拿到道题目,截图如下。
请添加图片描述
打开题目没什么思路,于是去看了看别人的WP,发现大师父们都在用一个叫arjun的参数爆破脚本。于是在kali中用arjun进行爆破。
请添加图片描述
发现了一个get请求的参数name,于是向里面随便传一个参数。
请添加图片描述
可以看到里面有回显,所以猜测这里存在SSTI,用{{1}}测试一下。
请添加图片描述
看来是真的存在了,这里用如下的payload,去列一下目录。

{%%20for%20c%20in%20[].__class__.__base__.__subclasses__()%20%}{%%20if%20c.__name__==%27catch_warnings%27%20%}{{c.__init__.__globals__.__builtins__[%27eval%27]("__import__(%27os%27).popen(%27dir%27).read()")}}{%%20endif%20%}{%%20endfor%20%}

这里要解释一下为什么要用这个payload,因为在我进行注入尝试的时候发现我之前可以利用的一些类在这道题的环境里面不是同一个位置,也就是说我无法通过之前积累的subclasses中的一些位置来定位可用类,只能通过这种现找的方式。结果如下
请添加图片描述
然后就是将上面的payload稍微改一下,将里面的命令改成cat flag.txt然后就行了。
请添加图片描述

上脚本

emm,事实上题目在刚才就已经结束了,但是这道题对我来说最大的收获还是关于脚本的使用。所以接下来介绍利用tplmap进行脚本注入的过程。
请添加图片描述
上面的结果显示,这个url是可以进行SSTI的,所以我们尝试直接获得他的shell
请添加图片描述
加上–os-shell参数,我们可以通过tplmap直接获取它的shell。结果如下
请添加图片描述

后记

最近学校的课程开始多起来了,我感觉应该是保持不住之前的更新频率了,只能等这阵子过去了。作业实在是太多了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值