From e4fe73a8a61143b122e38a0a7b61abefc8b7f745 Mon Sep 17 00:00:00 2001 From: ja Date: Mon, 11 Oct 2021 13:23:15 +0200 Subject: [PATCH] =?UTF-8?q?Sicherheitsl=C3=BCcke=20geschlossen=20bei=20der?= =?UTF-8?q?=20man=20ohne=20ANgabe=20von=20Email=20und=20oder=20Benutzernam?= =?UTF-8?q?e=20eine=20Token=20generieren=20lassen=20konnte.=20If-Abgfrage?= =?UTF-8?q?=20wurde=20hinzugef=C3=BCgt=20vor=20Generierung=20des=20Tokens.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- login/ForgotPW.aspx.vb | 58 +++++++++++++++++++++++------------------- login/login_FLEX.aspx | 16 ++++++------ 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/login/ForgotPW.aspx.vb b/login/ForgotPW.aspx.vb index fb950f2..ffb493f 100644 --- a/login/ForgotPW.aspx.vb +++ b/login/ForgotPW.aspx.vb @@ -148,38 +148,42 @@ Partial Class login_ForgotPW Dim time() As Byte = BitConverter.GetBytes(DateTime.UtcNow.ToBinary()) Dim Key() As Byte = Guid.NewGuid().ToByteArray() Dim token As String + If username = Not Nothing And email = Not Nothing Then + Try + token = Convert.ToBase64String(time.Concat(Key).ToArray()) + Return token + Catch Ex As Exception + Dim Msg, Style, Title As String + Msg = "Tokengenerierung fehlgeschlagen!" & vbCrLf & "Eine E-Mail wurde erneut an " + email + " zugesedet." + Style = vbRetry + vbExclamation + vbDefaultButton1 + Title = "Fehler bei Token-Generierung" + MsgBox(Msg, Style, Title) - Try - token = Convert.ToBase64String(time.Concat(Key).ToArray()) - Return token - Catch Ex As Exception - Dim Msg, Style, Title As String - Msg = "Tokengenerierung fehlgeschlagen!" & vbCrLf & "Eine E-Mail wurde erneut an " + email + " zugesedet." - Style = vbRetry + vbExclamation + vbDefaultButton1 - Title = "Fehler bei Token-Generierung" - MsgBox(Msg, Style, Title) - - If MsgBox(Msg, Style, Title).Retry Then - genToken(username, password, email) - If SendEmail(username, password, email, token) = False Then - MsgBox("Email konnte wegen eines internen Verschlüsselungsfehlers nicht gesendet werden.", vbOK + vbInformation + vbDefaultButton1, "TokengenerierungsFehler") + If MsgBox(Msg, Style, Title).Retry Then + genToken(username, password, email) + If SendEmail(username, password, email, token) = False Then + MsgBox("Email konnte wegen eines internen Verschlüsselungsfehlers nicht gesendet werden.", vbOK + vbInformation + vbDefaultButton1, "TokengenerierungsFehler") + Else + MsgBox("Email wurde erfolgreich gesendet." & vbCr & "Bitte Postfach überprüfen!", vbOK + vbInformation + vbDefaultButton1, "Tokengenerierungs erfolgreich!") + End If Else - MsgBox("Email wurde erfolgreich gesendet." & vbCr & "Bitte Postfach überprüfen!", vbOK + vbInformation + vbDefaultButton1, "Tokengenerierungs erfolgreich!") - End If - Else MsgBox("Tokengenerierung nicht erfolgreich." & vbCrLf & "In 5 Sekunden nochmal versuchen!") - Dim jetzt As DateTime = DateTime.UtcNow - Dim wenn As DateTime = DateTime.UtcNow.AddSeconds(-5) + Dim jetzt As DateTime = DateTime.UtcNow + Dim wenn As DateTime = DateTime.UtcNow.AddSeconds(-5) - If jetzt < wenn Then - Return "NotYet" - Else - token = Convert.ToBase64String(time.Concat(Key).ToArray()) - Return token + If jetzt < wenn Then + Return "NotYet" + Else + token = Convert.ToBase64String(time.Concat(Key).ToArray()) + Return token + End If End If - End If - End Try + End Try + Else + MsgBox("Bitte alle Fleder ausfüllen!") + Return "Error04" + End If End Function @@ -193,6 +197,8 @@ Partial Class login_ForgotPW Return False ElseIf tokenname = "NotYet" Then Return False + ElseIf tokenname = "Error04" Then + Return False Else Return True End If diff --git a/login/login_FLEX.aspx b/login/login_FLEX.aspx index a92bdc2..2efcc6a 100644 --- a/login/login_FLEX.aspx +++ b/login/login_FLEX.aspx @@ -79,7 +79,7 @@
- +
@@ -102,22 +102,22 @@ - + - - + - +
@@ -87,7 +87,7 @@
- Kundennummer: + Kundennummer
- Benutzername: + Benutzername
Der Benutzername ist erforderlich.
- Kennwort: +
+ Kennwort
Bitte Passwort angeben.