do_reset_wordpress=1 was ist das?

Dieses WordPress-Theme hat eine Sicherheitslücke - das sollten Sie wissen! Generell sollten Sie sich vor dem Einsatz üder das bevorzugte Theme informieren.

Inhalt

do_reset WordPress

Wenn Sie diesen Request in Ihrer Statistik sehen, dann werden Sie angegriffen! Ihre WordPress Installation ist in Gefahr und Sie müssen Maßnahmen ergreifen.

Das ThemeGrill Demo Importer-Plugin verfügt über mehr als 200.000 aktive Installationen und kann mit nur einem Klick zum Importieren von Demo-Inhalten, Widgets und Designeinstellungen für offizielle ThemeGrill-Themes verwendet werden.

In den Versionen 1.3.4 und höher, sowie in den Versionen 1.6.1 und darunter, gibt es eine Sicherheitslücke, die es jedem nicht authentifizierten Benutzer ermöglicht, die gesamte Datenbank in den Standardzustand zu versetzen, wonach sie automatisch als Administrator angemeldet werden. Die folgende URL löst den Reset aus

/wp-admin/admin-post.php?do_reset_wordpress=1

Code

Diesen String können Sie in der variable $_SERVER['QUERY_STRING'] entdecken, wenn Sie eine Statistik für Ihren Blog führen oder selbst eine PHP Statistik programmiert haben die diese Variable ausliest.

public function reset_wizard_actions() {
global $wpdb, $current_user;

if ( ! empty( $_GET['do_reset_wordpress'] ) ) {
if ( 'admin' != $current_user->user_login ) {
$user = get_user_by( 'login', 'admin' );
}

if ( empty( $user->user_level ) || $user->user_level > 10 ) {
$user = $current_user;
}

// Drop tables.
$drop_tables = $wpdb->get_col( sprintf( "SHOW TABLES LIKE '%s%%'", str_replace( '_', '\_', $wpdb->prefix ) ) );
foreach ( $drop_tables as $table ) {
$wpdb->query( "DROP TABLE IF EXISTS $table" );
}

// Installs the site.
$result = wp_install( $blogname, $user->user_login, $user->user_email, $blog_public );

// Updates the user password with a old one.
$wpdb->update(
$wpdb->users,
array(
'user_pass'           => $user->user_pass,
'user_activation_key' => '',
),
array( 'ID' => $result['user_id'] )
);

// Set up the Password change nag.
$default_password_nag = get_user_option( 'default_password_nag', $result['user_id'] );
if ( $default_password_nag ) {
update_user_option( $result['user_id'], 'default_password_nag', false, true );
}

// Update the cookies.
wp_clear_auth_cookie();
wp_set_auth_cookie( $result['user_id'] );

// Redirect to demo importer page to display reset success notice.
wp_safe_redirect( admin_url( 'themes.php?page=demo-importer&browse=all&reset=true' ) );
exit();
}
}

FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
6

Artikel