We know this all too well
OTP Verification
func verifyHandler(w http.ResponseWriter, r *http.Request) {
config.SetupResponse(&w, r)
var otp data.UserAccount
err := json.NewDecoder(r.Body).Decode(&otp)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
if logic.VerifyOTP(otp) == false {
http.Error(w, "Failed to verify OTP", http.StatusBadRequest)
return
}
fmt.Fprint(w, "Account Verified")
}func VerifyOTP(account data.UserAccount) bool {
user, _ := data.GetUser(account.Username)
if user == nil {
return false
}
if account.Otp != user.Otp || account.Username != user.Username || config.CheckPasswordHash(account.Password, user.Password) == false {
return false
} else {
data.SetVerified(account.Username)
}
return true
}Bypassing SQL Injection Protection
Bypassing SSRF Protection
Last updated