# app_vulnerable.py from flask import Flask, request, render_template_string app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): name = '' if request.method == 'POST': # VULNÉRABLE : on concatène directement la saisie dans un template string name = request.form.get('name', '') template = f""" SSTI demo (vuln)

Bonjour {name} !

Ce template est rendu côté serveur via render_template_string.

""" return render_template_string(template) return ''' SSTI demo (vuln)

Bonjour !

''' if __name__ == '__main__': app.run(debug=True)