it-swarm.com.de

Wie funktioniert WordPress Nonces?

Ich versuche zu verstehen, wie WordPress Nonces in Bezug auf Sicherheit funktionieren. nonce steht für eine einmal verwendete Zahl, laut WordPress kann sie jedoch bis zu 24 Stunden lang gültig sein, was keinen Sinn macht. Es kann in diesem Zeitraum 9999-mal verwendet werden (vom selben Client).

Ich dachte, dass ein WordPress-Nonce wirklich eine einmal verwendete Zahl ist und dass ein Nonce nur für den einmaligen Gebrauch gültig ist, aber das ist nicht der Fall. Ich denke für eine bessere Sicherheit wäre eine einmalige Verwendungsnummer besser, z. Sie haben ein Kommentarsystem und jemand klickt zweimal auf "Antworten". Anstatt den Kommentar zweimal einzufügen, wird er einmal eingefügt, da in den beiden Anforderungen eine einmalige gültige Nonce (dieselbe) angegeben ist.

Verstehe ich etwas falsch? Was ist der Zweck dieser WordPress-Noncen?

Wenn Sie Wordpress Nonces in Codex lesen, haben sie es ziemlich fair erklärt. Einige der wichtigsten Punkte sind:

  1. gehen Sie immer davon aus, dass Nonces kompromittiert werden können.
  2. Nonces sind ein Hash aus Zahlen und Buchstaben.
  3. Wordpress Überprüft jede https-Anfrage mit nonces und user cookies.

Ich glaube, Punkt 3 ist, kurz gesagt, wie es mit WordPress funktioniert. Sie haben erwähnt, dass anstelle von WordPress Nonces die Funktion current_user_can() verwendet wird.

Was den Zweck betrifft, so dient er meines Erachtens dem grundlegenden Zweck der mehrschichtigen Sicherheit. Lesen Sie dies Sind Nonces nutzlos

5
Dilip Gupta

Wie Sie richtig erkannt haben, verwendet WordPress keine wörtlichen NONCEs, sondern eine hinreichende Annäherung.

Das Implementierungsproblem bei der wörtlichen Definition von Nonce besteht darin, dass Sie alle von Ihnen generierten Zahlen nachverfolgen müssen, insbesondere, wenn sie wirklich zufällig sind. Dies bedeutet, dass die generierte Nonce in der Datenbank gespeichert wird. Dies bedeutet, dass bei jeder Aktualisierung der Verwaltungsseite ein DB-Schreibzugriff erfolgt, der den Server möglicherweise überfordert.

Ein WordPress-Kompromiss besteht darin, die Nonce als Hash-Wert des aktuellen Tages zu generieren, wobei ein geheimer Hash-Schlüssel und ein benutzersensitiver Kontext verwendet werden. Auf diese Weise ist das Fenster eines möglichen Angriffs auf 24 Stunden begrenzt, und es ist schwer, die Nonces zu erraten. Es gibt immer noch ein Problem beim Abfangen, wenn sich Ihre Site auf HTTP befindet und Sie in öffentlichen WiFi-Netzwerken Administratorrechte haben. In diesem Fall wird jedoch die gesamte Authentifizierung offengelegt und die Nicht-Verfügbarkeit ist das geringste Ihrer Probleme.

4
Mark Kaplun