Loading

当config和()被列入黑名单时的flask-ssti—shrine-攻防世界

 

 进入网页,源代码有点凌乱,ctrl+u查看源码

 

 尝试ssti,随便输入/shrine/123

 

 说明存在模块注入

参考:

https://www.cnblogs.com/NPFS/p/12764599.html

输入{{''.__class__.__mro__[2].__subclasses__()}}

 

 但是仔细分析源代码会发现这里过滤了()和把'config','self'加入了黑名单

所以这里不能使用常规的ssti的模板

这个时候我们想到了内置函数get_flashed_messages(),又应为config在current_app里面,所以我们可以构造payload

{{get_flashed_messages.__globals__['current_app'].config['FLAG']}}
这样就可以绕过

 

 参考自:

https://www.cnblogs.com/linkzoom/articles/15273072.html

posted @ 2021-11-27 14:28  Nanne1ess  阅读(112)  评论(0编辑  收藏  举报