Wordpress - Sicherheit

06/29/2017 15:09 yѕL#1
yo,

spontan merke ich mal zwei "Sicherheitslücken" bei Wordpress an und fixe Diese für euch. Hauptsächlich geht es bei den Lücken darum, dass der Angreifer die Benutzernamen für den BE-Login herausfinden kann.
  • An eine URL "/wp-json/wp/v2/users" anhängen, um eine Liste aller Nutzer zu bekommen.
  • Die URL /?author=_id_ mit fortlaufender ID scannen. Existiert ein User mit der ID, wird automatisch auf dessen Seite weitergeleitet und dort sieht man in der URL den Loginnamen.

Um das zu verhindern, reichen zwei kleine Funktionen in der functions.php des jeweiligen (Child)-Themes aus.

Code:
function only_allow_logged_in_rest_access( $access ) {
	if( ! is_user_logged_in() ) {
		return new WP_Error( 'rest_cannot_access', __( 'Only authenticated users can access the REST API.', 'disable-json-api' ), array( 'status' => rest_authorization_required_code() ) );
		}
	return $access;
}
add_filter( 'rest_authentication_errors', 'only_allow_logged_in_rest_access' );
Code:
if (!is_admin()) {
	// default URL format
	if (preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING'])) die();
	add_filter('redirect_canonical', 'shapeSpace_check_enum', 10, 2);
}
Code:
function shapeSpace_check_enum($redirect, $request) {
    // permalink URL format
	if (preg_match('/\?author=([0-9]*)(\/*)/i', $request)) die();
}
06/29/2017 23:28 Der-Eddy#2
[Only registered and activated users can see links. Click Here To Register...]
^interessanter
06/30/2017 09:28 yѕL#3
Quote:
Originally Posted by Der-Eddy View Post
[Only registered and activated users can see links. Click Here To Register...]
^interessanter
Docker ist ja schon mieser Absturz
06/30/2017 09:32 Menan#4
Quote:
Originally Posted by νibe View Post
Docker ist ja schon mieser Absturz
Bitte was?

Docker ist ja wohl mal bestens! Schnelle, einfache und gute Virtualisierung.. Was spricht denn gegen nen Docker Image?
06/30/2017 09:37 yѕL#5
Quote:
Originally Posted by Menan View Post
Bitte was?

Docker ist ja wohl mal bestens! Schnelle, einfache und gute Virtualisierung.. Was spricht denn gegen nen Docker Image?
Mittlerweile ja, natürlich. Spreche da eher aus eigener Erfahrung in der Vergangenheit. Nichts für mich, sorry.
07/01/2017 00:23 Der-Eddy#6
Quote:
Originally Posted by νibe View Post
Mittlerweile ja, natürlich. Spreche da eher aus eigener Erfahrung in der Vergangenheit. Nichts für mich, sorry.
Dir ist aber aufgefallen das weiter unten auf der Seite erklärt wird wie man das Script auch ohne Docker laufen lässt?

WPScan klopft imo eine Wordpress Installation nach allen bekannten Lücken ab und gibt noch weitere Tipps bezüglich Sicherheit
da sollte es nicht an Docker scheitern
07/01/2017 18:37 0xFADED#7
Quote:
spontan merke ich mal zwei "Sicherheitslücken" bei Wordpress an und fixe Diese für euch
Die Frage ist ob man das wirklich Sicherheitlücke oder Bug nennen kann.

Alles was man dadurch "erbeutet" is der Username.
Die meisten Leute die keine Ahnung von Sicherheit haben installieren sich eh Zeug wie iThemes Security oder Wordfence, was die auf den "Angriff" folgenden Loginversuche recht gut abwehren kann.

Leute die sich Gedanken über Sicherheit machen, werden die JSON API und/oder XML-RPC eh aus haben :rolleyes:
07/03/2017 08:53 yѕL#8
Quote:
Originally Posted by 0xFADED View Post
Die Frage ist ob man das wirklich Sicherheitlücke oder Bug nennen kann.

Die meisten Leute die keine Ahnung von Sicherheit haben installieren sich eh Zeug wie iThemes Security oder Wordfence, was die auf den "Angriff" folgenden Loginversuche recht gut abwehren kann.
Vielen Dank für deinen Beitrag.

Ist mir eigentlich ziemlich egal, was Leute, die keine Ahnung haben, für ihre Sicherheit benutzen.

Hierbei geht es nur darum, die aufgezeigten Wege per functions zu verhindern - ohne sich gleich 1337 Plugins laden zu müssen.

Außerdem decken diese Plugins, wie bereits von dir erläutert, nicht den Bug bzw. die Sicherheitslücke, sondern den Folgeangriff ab.

Quote:
Originally Posted by 0xFADED View Post
Alles was man dadurch "erbeutet" is der Username.
schade, also gibts doch kein X6 für mich