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: wfCrypt.php
<?php class wfCrypt { private static function getPubKey(){ #Command to generate our keypair was: openssl req -x509 -newkey rsa:2048 -keyout mycert.key -out mycert.pem -nodes -subj "/C=US/ST=Washington/L=Seattle/O=Wordfence/OU=IT/CN=wordfence.com" -days 7300 #This is a 2048 bit key using SHA256 with RSA. $key = <<<ENDKEY -----BEGIN CERTIFICATE----- MIIDrTCCApWgAwIBAgIJAIg6Va5tcvwyMA0GCSqGSIb3DQEBCwUAMG0xCzAJBgNV BAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMRIw EAYDVQQKDAlXb3JkZmVuY2UxCzAJBgNVBAsMAklUMRYwFAYDVQQDDA13b3JkZmVu Y2UuY29tMB4XDTE1MDMxMjA1NTIzMFoXDTM1MDMwNzA1NTIzMFowbTELMAkGA1UE BhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxEjAQ BgNVBAoMCVdvcmRmZW5jZTELMAkGA1UECwwCSVQxFjAUBgNVBAMMDXdvcmRmZW5j ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/9Ogj1PIQsuZu dTUNWlG0zaDNWpeY1ZiB/6oBS/YXkGFuG8R/nZ/kYsRmBm6yRp/3jC/HiPjg+7Zc bA/CKoHdUlNjFZ+10DmS369wVX+c0oV9f720b/a0xN0qeKxJTiN2NsAl5szYv2CQ Bvzjeb5VfKgrfV9tgYr38swudxvexponYaK0OlDL3u/Xca4SLRKmB+ZYCcZJttoG SNFsQMlLHWWmM0FJH9qZ3x8MtRM5KsNEWO+/op511Rr36ZnLJdzUnETsaxHKwuCv 0+D9b0mwk8K/c67l63v4+zywXNkdYIslgo7Aeeyb6t0lyyfruXutEyMinmApACT2 sDMAbYk7AgMBAAGjUDBOMB0GA1UdDgQWBBTstr/AoPQyLLIt4/peFSjj0FFXHzAf BgNVHSMEGDAWgBTstr/AoPQyLLIt4/peFSjj0FFXHzAMBgNVHRMEBTADAQH/MA0G CSqGSIb3DQEBCwUAA4IBAQA9HsK+XdZh2MGP2SDdggA+MxkNBCCFBtcsmQrpiLUW 67xt59FPRMwTgSA9Lt8uqcWaXoHXiaTnXTRtN/BKZR0F71HQfiV6zy511blIRlk2 nV+vYzwLUENCZ31hQEZsY+uYqBSTiHecUKohn8A9pOOEpis2YEn2zVo4cobdyGa1 zCnaAN99KT8s9lOO0UW0J52qZhvv4y8YhELtrXKBsFatGEsVIM0NFI+ZDsNpMnSQ cmUtLiIJtk5hxNbOaIz2vzbOkbzJ3ehzODJ1X5rya7X0v2akLLhwP9jqz5ua6ttP duLv4Q6v3LY6pwDoyKQMDqNNxVjaFmx5HyFWRPofpu/T -----END CERTIFICATE----- ENDKEY; return $key; } public static function makeSymHexKey($length){ return bin2hex(wfWAFUtils::random_bytes($length / 2)); } public static function pubCrypt($symKey){ //encrypts a symmetric key and returns it base64 openssl_public_encrypt($symKey, $encSymKey, self::getPubKey(), OPENSSL_PKCS1_OAEP_PADDING); //The default OPENSSL_PKCS1_PADDING is deprecated. return base64_encode($encSymKey); } /** * Returns the payload symmetrically encrypted and signed by the noc1 public key. The payload is converted to JSON, * encrypted using a randomly-generated symmetric key, and then hashed and signed with the noc1 public key. * * This is NOT cryptographically secure for verifying that this server sent or was aware of the context of the * message, rather it is intended to be used in tandem with verification via another method (e.g., a call that * validates due to the site URL matching the license key or noc1 does a call itself to the server to retrieve the * encrypted payload). It is solely a means to provide data to noc1 that only it can read. * * @param array $payload * @return array The encrypted and signed payload in the form array('message' => <encrypted message in hex>, 'signature' => <signature in hex>). */ public static function noc1_encrypt($payload) { $payloadJSON = json_encode($payload); $keyData = file_get_contents(dirname(__FILE__) . '/noc1.key'); $key = @openssl_get_publickey($keyData); if ($key !== false) { $symmetricKey = wfWAFUtils::random_bytes(32); $iv = wfWAFUtils::random_bytes(16); $encrypted = @openssl_encrypt($payloadJSON, 'aes-256-cbc', $symmetricKey, OPENSSL_RAW_DATA, $iv); if ($encrypted !== false) { $success = openssl_public_encrypt($symmetricKey, $symmetricKeyEncrypted, $key, OPENSSL_PKCS1_OAEP_PADDING); if ($success) { $message = $iv . $symmetricKeyEncrypted . $encrypted; $signatureRaw = hash('sha256', $message, true); $success = openssl_public_encrypt($signatureRaw, $signature, $key, OPENSSL_PKCS1_OAEP_PADDING); if ($success) { $package = array('message' => bin2hex($message), 'signature' => bin2hex($signature)); return $package; } } } } return array(); } /** * Returns a SHA256 HMAC for $payload using the local long key. * * @param $payload * @return false|string */ public static function local_sign($payload) { return hash_hmac('sha256', $payload, wfConfig::get('longEncKey')); } }
Upload File
Create Folder