Explorar el Código

Reverse hash and nonce (#8320)

Safer password evaluation
Alexandre Alapetite hace 3 meses
padre
commit
476e57b046
Se han modificado 2 ficheros con 2 adiciones y 2 borrados
  1. 1 1
      app/Models/FormAuth.php
  2. 1 1
      p/scripts/extra.js

+ 1 - 1
app/Models/FormAuth.php

@@ -11,7 +11,7 @@ class FreshRSS_FormAuth {
 			return false;
 		}
 
-		return password_verify($nonce . $hash, $challenge);
+		return password_verify($hash . $nonce, $challenge);
 	}
 
 	/** @return list<string> */

+ 1 - 1
p/scripts/extra.js

@@ -75,7 +75,7 @@ function init_crypto_forms() {
 						try {
 							const strong = window.Uint32Array && window.crypto && (typeof window.crypto.getRandomValues === 'function');
 							const s = bcrypt.hashSync(crypto_form.querySelector('.passwordPlain').value, json.salt1);
-							const c = bcrypt.hashSync(json.nonce + s, strong ? bcrypt.genSaltSync(4) : poormanSalt());
+							const c = bcrypt.hashSync(s + json.nonce, strong ? bcrypt.genSaltSync(4) : poormanSalt());
 							challenge.value = c;
 							if (!s || !c) {
 								openNotification('Crypto error!', 'bad');