diff --git a/console/web-api/lib/Email/SpoofingDemo/Web.pm b/console/web-api/lib/Email/SpoofingDemo/Web.pm index ea04caa..d50d069 100644 --- a/console/web-api/lib/Email/SpoofingDemo/Web.pm +++ b/console/web-api/lib/Email/SpoofingDemo/Web.pm @@ -108,11 +108,37 @@ post '/dkim-generator/sender' => sub { }; get '/attacker/spoof' => sub { + my ($config, $status) = call_api(GET => 'attacker', '/config'); + ($status eq 200) or die "Could not get attacker’s configuration"; + template 'attacker/spoof' => { - title => 'Usurpateur d’identité de courriel' + title => 'Usurpateur d’identité de courriel', + default_helo => $config->{default_helo}, + my_mail_from => $config->{my_mail_from}, + scenarios => $config->{templates} }; }; +post '/attacker/spoof' => sub { + my $scenario = body_parameters->get('scenario'); + my $replace_mail_from = (body_parameters->get('rfc5321-mailfrom') eq 'replace'); + my $helo = body_parameters->get('helo'); + + my %api_params = ( + scenario => $scenario, + replace_mail_from => ($replace_mail_from ? JSON::true : JSON::false), + helo => $helo + ); + + my ($logs, $status) = call_api(POST => 'attacker', '/spoof', \%api_params); + + deferred 'logs' => $logs; + deferred 'selected_scenario' => $scenario; + deferred 'replace_mail_from' => $replace_mail_from; + + redirect '/attacker/spoof', 303; +}; + get '/sender/send-email' => sub { my %template_params = ( title => 'Envoi de messages légitimes', diff --git a/console/web-api/views/attacker/spoof.tt b/console/web-api/views/attacker/spoof.tt index 30404ce..e670354 100644 --- a/console/web-api/views/attacker/spoof.tt +++ b/console/web-api/views/attacker/spoof.tt @@ -1 +1,107 @@ -TODO \ No newline at end of file + + +
+

Usurpateur d’identité de courriel

+
+
+
+
+
+ + +
+
+ +
+ + +
Nom de machine sous lequel l’attaquant se présente auprès du système de courriels du destinataire.
+
+ +
+ + +
Cette adresse est utilisée dans la commande SMTP « MAIL FROM ». C’est l’équivalent électronique de l’adresse écrite à l’arrière d’une enveloppe postale.
+
+ +
+ + +
Cette adresse est utilisée dans l’en-tête « From » du courriel. C’est l’adresse affichée par les logiciels de courriels comme Thunderbird. C’est l’équivalent électronique de l’adresse figurant sur le papier à en-tête.
+
+ + +
+
+ [% IF deferred.logs %] +
+
+ [% SWITCH deferred.logs.outcome %] + [% CASE 'success' %] +
+

Le courriel a été accepté par le serveur SMTP.

+ Relever les courriels du destinataire +
+ [% CASE 'failure' %] +
+ Le courriel a été rejeté par le serveur SMTP. +
+ [% END %] +
+
+ [% FOR deferred.logs.log %] +
+
+ +
+
+ [% FOR lines ~%] + [% text | html %]
+ [%~ END %] +
+
+ [% END %] +
+
+
+ [% END %] +
+
+ +