X7ROOT File Manager
Current Path:
/home/oakwood/public_html/wp-content/plugins/wordfence/lib
home
/
oakwood
/
public_html
/
wp-content
/
plugins
/
wordfence
/
lib
/
ðŸ“
..
📄
.htaccess
(354 B)
ðŸ“
Diff
📄
Diff.php
(5.63 KB)
📄
GeoLite2-Country.mmdb
(7.46 MB)
📄
IPTraf.php
(1.17 KB)
📄
IPTrafList.php
(2.98 KB)
📄
WFLSPHP52Compatability.php
(1.27 KB)
ðŸ“
audit-log
📄
compat.php
(425 B)
ðŸ“
dashboard
📄
diffResult.php
(2.81 KB)
📄
email_genericAlert.php
(1.39 KB)
📄
email_newIssues.php
(8.82 KB)
📄
email_unlockRequest.php
(2.34 KB)
📄
email_unsubscribeRequest.php
(1.05 KB)
📄
flags.php
(6.62 KB)
📄
live_activity.php
(580 B)
📄
menu_dashboard.php
(28 KB)
📄
menu_dashboard_options.php
(15.21 KB)
📄
menu_firewall.php
(2.12 KB)
📄
menu_firewall_blocking.php
(10.25 KB)
📄
menu_firewall_blocking_options.php
(4.63 KB)
📄
menu_firewall_waf.php
(19.96 KB)
📄
menu_firewall_waf_options.php
(11.09 KB)
📄
menu_install.php
(1.73 KB)
📄
menu_options.php
(24.7 KB)
📄
menu_scanner.php
(21.53 KB)
📄
menu_scanner_credentials.php
(2.77 KB)
📄
menu_scanner_options.php
(8.41 KB)
📄
menu_support.php
(17.82 KB)
📄
menu_tools.php
(1.49 KB)
📄
menu_tools_auditlog.php
(16.43 KB)
📄
menu_tools_diagnostic.php
(49.35 KB)
📄
menu_tools_importExport.php
(1.28 KB)
📄
menu_tools_livetraffic.php
(39.43 KB)
📄
menu_tools_twoFactor.php
(19.6 KB)
📄
menu_tools_whois.php
(4.61 KB)
📄
menu_wordfence_central.php
(9.66 KB)
📄
noc1.key
(1.64 KB)
ðŸ“
rest-api
📄
sodium_compat_fast.php
(185 B)
📄
sysinfo.php
(1.47 KB)
📄
viewFullActivityLog.php
(1.47 KB)
📄
wf503.php
(9.63 KB)
📄
wfAPI.php
(10.1 KB)
📄
wfActivityReport.php
(20.45 KB)
📄
wfAdminNoticeQueue.php
(5.2 KB)
📄
wfAlerts.php
(7.37 KB)
📄
wfArray.php
(1.77 KB)
📄
wfAuditLog.php
(47.13 KB)
📄
wfBrowscap.php
(3.9 KB)
📄
wfBrowscapCache.php
(256.83 KB)
📄
wfBulkCountries.php
(9.77 KB)
📄
wfCache.php
(6.02 KB)
📄
wfCentralAPI.php
(25.8 KB)
📄
wfConfig.php
(122.49 KB)
📄
wfCrawl.php
(6.56 KB)
📄
wfCredentialsController.php
(5.16 KB)
📄
wfCrypt.php
(4.05 KB)
📄
wfCurlInterceptor.php
(1.02 KB)
📄
wfDB.php
(11.49 KB)
📄
wfDashboard.php
(8.2 KB)
📄
wfDateLocalization.php
(352.13 KB)
📄
wfDeactivationOption.php
(2.13 KB)
📄
wfDiagnostic.php
(66.87 KB)
📄
wfDict.php
(738 B)
📄
wfDirectoryIterator.php
(1.89 KB)
📄
wfFileUtils.php
(2.72 KB)
📄
wfHelperBin.php
(1.97 KB)
📄
wfHelperString.php
(2.13 KB)
📄
wfIPWhitelist.php
(1.56 KB)
📄
wfImportExportController.php
(3.23 KB)
📄
wfInaccessibleDirectoryException.php
(303 B)
📄
wfInvalidPathException.php
(266 B)
📄
wfIpLocation.php
(1.73 KB)
📄
wfIpLocator.php
(2.74 KB)
📄
wfIssues.php
(27.91 KB)
📄
wfJWT.php
(5.33 KB)
📄
wfLicense.php
(10.43 KB)
📄
wfLockedOut.php
(9.73 KB)
📄
wfLog.php
(57.11 KB)
📄
wfMD5BloomFilter.php
(5.2 KB)
📄
wfModuleController.php
(754 B)
📄
wfNotification.php
(6.41 KB)
📄
wfOnboardingController.php
(9.22 KB)
📄
wfPersistenceController.php
(819 B)
📄
wfRESTAPI.php
(377 B)
📄
wfScan.php
(15.92 KB)
📄
wfScanEngine.php
(133.6 KB)
📄
wfScanEntrypoint.php
(1.04 KB)
📄
wfScanFile.php
(1.01 KB)
📄
wfScanFileLink.php
(403 B)
📄
wfScanFileListItem.php
(408 B)
📄
wfScanFileProperties.php
(1.07 KB)
📄
wfScanMonitor.php
(4.05 KB)
📄
wfScanPath.php
(1.77 KB)
📄
wfSchema.php
(10.91 KB)
📄
wfStyle.php
(1.21 KB)
📄
wfSupportController.php
(24.18 KB)
📄
wfUnlockMsg.php
(1.14 KB)
📄
wfUpdateCheck.php
(27.23 KB)
📄
wfUtils.php
(124.11 KB)
📄
wfVersionCheckController.php
(19.27 KB)
📄
wfVersionSupport.php
(535 B)
📄
wfView.php
(2.22 KB)
📄
wfViewResult.php
(1.42 KB)
📄
wfWebsite.php
(1.75 KB)
📄
wordfenceClass.php
(436.65 KB)
📄
wordfenceConstants.php
(3.56 KB)
📄
wordfenceHash.php
(42.7 KB)
📄
wordfenceScanner.php
(30.47 KB)
📄
wordfenceURLHoover.php
(18.36 KB)
Editing: wfCredentialsController.php
<?php class wfCredentialsController { const UNCACHED = 'uncached'; const NOT_LEAKED = 'not-leaked'; const LEAKED = 'leaked'; const ALLOW_LEGACY_2FA_OPTION = 'allowLegacy2FA'; const DISABLE_LEGACY_2FA_OPTION = 'disableLegacy2FA'; public static function allowLegacy2FA() { return wfConfig::get(self::ALLOW_LEGACY_2FA_OPTION, false); } public static function useLegacy2FA() { if (!self::allowLegacy2FA()) { return false; } return !wfConfig::get(self::DISABLE_LEGACY_2FA_OPTION, false); } public static function hasOld2FARecords() { $twoFactorUsers = wfConfig::get_ser('twoFactorUsers', array()); if (is_array($twoFactorUsers) && !empty($twoFactorUsers)) { foreach ($twoFactorUsers as &$t) { if ($t[3] == 'activated') { $user = new WP_User($t[0]); if ($user instanceof WP_User && $user->exists()) { return true; } } } } return false; } public static function hasNew2FARecords() { if (version_compare(phpversion(), '5.3', '>=') && class_exists('\WordfenceLS\Controller_DB')) { global $wpdb; $table = WFLSPHP52Compatability::secrets_table(); return !!intval($wpdb->get_var("SELECT COUNT(*) FROM `{$table}`")); } return false; } /** * Queries the API and returns whether or not the password exists in the breach database. * * @param string $login * @param string $password * @return bool */ public static function isLeakedPassword($login, $password) { $sha1 = strtoupper(hash('sha1', $password)); $prefix = substr($sha1, 0, 5); $ssl_verify = (bool) wfConfig::get('ssl_verify'); $args = array( 'timeout' => 5, 'user-agent' => "Wordfence.com UA " . (defined('WORDFENCE_VERSION') ? WORDFENCE_VERSION : '[Unknown version]'), 'sslverify' => $ssl_verify, 'headers' => array('Referer' => false), ); if (!$ssl_verify) { // Some versions of cURL will complain that SSL verification is disabled but the CA bundle was supplied. $args['sslcertificates'] = false; } $response = wp_remote_get(sprintf(WORDFENCE_BREACH_URL_BASE_SEC . "%s.txt", $prefix), $args); if (!is_wp_error($response)) { $data = wp_remote_retrieve_body($response); $lines = explode("\n", $data); foreach ($lines as $l) { $components = explode(":", $l); $teshSHA1 = $prefix . strtoupper($components[0]); if (hash_equals($sha1, $teshSHA1)) { return true; } } } return false; } /** * Returns the transient key for the given user. * * @param WP_User $user * @return string */ protected static function _cachedCredentialStatusKey($user) { $key = 'wfcredentialstatus_' . $user->ID; return $key; } /** * Returns the cached credential status for the given user: self::UNCACHED, self::NOT_LEAKED, or self::LEAKED. * * @param WP_User $user * @return string */ public static function cachedCredentialStatus($user) { $key = self::_cachedCredentialStatusKey($user); $value = get_transient($key); if ($value === false) { return self::UNCACHED; } $status = substr($value, 0, 1); if (strlen($value) > 1) { if (!hash_equals(substr($value, 1), hash('sha256', $user->user_pass))) { //Different hash but our clear function wasn't called so treat it as uncached return self::UNCACHED; } } if ($status) { return self::LEAKED; } return self::NOT_LEAKED; } /** * Stores a cached leak value for the given user. * * @param WP_User $user * @param bool $isLeaked */ public static function setCachedCredentialStatus($user, $isLeaked) { $key = self::_cachedCredentialStatusKey($user); set_transient($key, ($isLeaked ? '1' : '0') . hash('sha256', $user->user_pass), 3600); } /** * Clears the cache for the given user. * * @param WP_User $user */ public static function clearCachedCredentialStatus($user) { $key = self::_cachedCredentialStatusKey($user); delete_transient($key); } /** * Returns whether or not we've seen a successful login from $ip for the given user. * * @param WP_User $user * @param string $ip * @return bool */ public static function hasPreviousLoginFromIP($user, $ip) { global $wpdb; $table_wfLogins = wfDB::networkTable('wfLogins'); $id = property_exists($user, 'ID') ? $user->ID : 0; if ($id == 0) { return false; } $ipHex = wfDB::binaryValueToSQLHex(wfUtils::inet_pton($ip)); $result = $wpdb->get_row($wpdb->prepare("SELECT id FROM {$table_wfLogins} WHERE action = 'loginOK' AND userID = %d AND IP = {$ipHex} LIMIT 0,1", $id), ARRAY_A); if (is_array($result)) { return true; } $lastAdminLogin = wfConfig::get_ser('lastAdminLogin'); if (is_array($lastAdminLogin) && isset($lastAdminLogin['userID']) && isset($lastAdminLogin['IP'])) { if ($lastAdminLogin['userID'] == $id && wfUtils::inet_pton($lastAdminLogin['IP']) == wfUtils::inet_pton($ip)) { return true; } return false; } //Final check -- if the IP recorded at plugin activation matches, let it through. This is __only__ checked when we don't have any other record of an admin login. $activatingIP = wfConfig::get('activatingIP'); if (wfUtils::isValidIP($activatingIP)) { if (wfUtils::inet_pton($activatingIP) == wfUtils::inet_pton($ip)) { return true; } } return false; } }
Upload File
Create Folder