dsbctf
WEB
ezzz_ssti
输入49,回显49,是个ssti,fuzz了一下发现没有过滤,只是限制了长度,测了一下知道长度限制为40
具体原理参考:https://blog.csdn.net/weixin_43995419/article/details/126811287
Flask 框架中存在config
全局对象,用来保存配置信息。config
对象实质上是一个字典的子类,可以像字典一样操作,而update
方法又可以更新python中的字典。我们就可以利用 Jinja 模板的 set
语句配合字典的 update()
方法来更新 config
全局对象,将字典中的lipsum.__globals__
更新为g
,就可以达到在 config
全局对象中分段保存 Payload
,从而绕过长度限制。
payload:
1 |
|
不确定字典中键的值是否更新的话可以用print
查看
1 |
|
dsbctf
http://example.com/2024/11/14/比赛/dsbctf/