On a utilisé la même méthode en reversant le custom sha1 du script.

Honnêtement, on avait tout sur ce chall, sauf que le répo git récupéré via gitTools était corrompu. Du coup pas moyen de pouvoir récupérer les fichiers. On a passé du temps a essayer de réparer le répo sans succès. Alors qu'au final on a apprit après que cela aurait dut fonctionner nickel. Bref leçon à retenir, des fois aller poser une question aux orgas, ça fait gagner du temps et des points :/

Le forensic 1 :

  'https://vault:8200'
  CERT = './cert/client.crt'
  KEY = './cert/client.key'
  CA = './cert/vault_ca.crt'
from flask import Flask, request, render_template
import hvac
app = Flask(__name__)
app.config.from_object('config')
vault = hvac.Client(url=app.config['URL'], cert=(app.config['CERT'], app.config['KEY']), verify=app.config['CA'])
# @app.route('/')
def get_index():
	return app.send_static_file('index.html')
# @app.route('/code_check', methods=['POST'])
def check_code():
	user_code = "code"  #request.form.get('code')
	vault.auth_tls()
	value = vault.read('secret/auth')
	if value is not None and user_code is not None:
		if str(value['data']['code']) == str(user_code):
			value = vault.read('secret/vulnerability')
			if value is not None:
				return render_template('success.html', content=value['data']['vuln']), 200, {'ContentType': 'text/html'}
	return app.send_static_file('error.html'), 401, {'ContentType': 'text/html'}		
  if __name__ == '__main__':
      check_code()

select LOAD_FILE('/etc/passwd')