nIGHTmAYOR
Registered User.
- Local time
- Yesterday, 20:41
- Joined
- Sep 2, 2008
- Messages
- 240
While brawsing this forum i came across an advice by someone regarding switching between 2 system.mdw files in order to import objects across two different database with each relying on different system.mdw file.
Now what was interesting was that the advisor came to adress the subject as a security issue that made me wonder .. years back i tried this approach and i stepped into piles of *exclaimation marks* , yet back then db/mdw passwords recovery programs were still not fully unleashed so i decided to re-open the hive and go through it one more time.
Going through the process of manually creating a system.mdw there were 2 major set backs!
1 - if by a chance you managed to create a database by right clicking >> New >> Microsoft Office Access Database x and then trying to secure it you have managed yourself some *bump* you could have lived and not noticed..the default db owner is set to Admin with blank password , so no matter how many users you add and how you set ownership to whichever users , simple login useing long forgoten Admin account with blank password can restore you ownership to whichever objects other users own. trying to change ownership of database is rendered disabled not even if you logged through Admin account and tried to dismiss ownership to another. now like that isnt enough if you changed system.mdw with another freshly created system.mdw with default Admin user and blank password .. yes , you gain full control and ownership to the application.
2 - if you were cautious enough you would first run access >> log in to access useing an account of choice >> file >> new , what now ? yes your database owner is set to logged in user , which is good .. is it ? nope , just create a freshly new system.mdw , recreate an account with same name as owner with blank password , use it to log in , notice anything ? yes , you're the "owner" man
However
If you managed to setup your security using security wizard microsoft handles all the above addressed issues through an undocumented mean..
the wizard manages to set ownership and everything to selected user , Yet , use the Admin account as a peculier identifier to that such system.mdw would be the only valied security database to have access to such created database. how ? simply it generates a random password for Admin account and check it against one stored on database and if both are correct owner username/users are allowed to authenticate.
Now a funny notice if you accidently reset Admin password you will lose access to your database despite owner password exists and is not compromised and despite that Admin account might not have a single ownership to database objects and dspite microsoft doesnt warn you about it .
All that was before system.mdw security was compromised and various recovery tools flooded the internet that could decode any set password .
Now feddling with password recovery tools , acquiring Admin password , creating a fresh security.mdw and setting Admin's password acquired and recreating the owner user with blank password too can grant you accessibility to application.
Conclusion:
Never rely on ms access system.mdw security , apart from it i have never seen any security module that you can just beat by plain logic not even an investment in reverse engineering.
If you rely on system.mdw in securing your application then i would suggest declairing your application as an open source and save yourself the mockery
regards
Now what was interesting was that the advisor came to adress the subject as a security issue that made me wonder .. years back i tried this approach and i stepped into piles of *exclaimation marks* , yet back then db/mdw passwords recovery programs were still not fully unleashed so i decided to re-open the hive and go through it one more time.
Going through the process of manually creating a system.mdw there were 2 major set backs!
1 - if by a chance you managed to create a database by right clicking >> New >> Microsoft Office Access Database x and then trying to secure it you have managed yourself some *bump* you could have lived and not noticed..the default db owner is set to Admin with blank password , so no matter how many users you add and how you set ownership to whichever users , simple login useing long forgoten Admin account with blank password can restore you ownership to whichever objects other users own. trying to change ownership of database is rendered disabled not even if you logged through Admin account and tried to dismiss ownership to another. now like that isnt enough if you changed system.mdw with another freshly created system.mdw with default Admin user and blank password .. yes , you gain full control and ownership to the application.
2 - if you were cautious enough you would first run access >> log in to access useing an account of choice >> file >> new , what now ? yes your database owner is set to logged in user , which is good .. is it ? nope , just create a freshly new system.mdw , recreate an account with same name as owner with blank password , use it to log in , notice anything ? yes , you're the "owner" man
However
If you managed to setup your security using security wizard microsoft handles all the above addressed issues through an undocumented mean..
the wizard manages to set ownership and everything to selected user , Yet , use the Admin account as a peculier identifier to that such system.mdw would be the only valied security database to have access to such created database. how ? simply it generates a random password for Admin account and check it against one stored on database and if both are correct owner username/users are allowed to authenticate.
Now a funny notice if you accidently reset Admin password you will lose access to your database despite owner password exists and is not compromised and despite that Admin account might not have a single ownership to database objects and dspite microsoft doesnt warn you about it .
All that was before system.mdw security was compromised and various recovery tools flooded the internet that could decode any set password .
Now feddling with password recovery tools , acquiring Admin password , creating a fresh security.mdw and setting Admin's password acquired and recreating the owner user with blank password too can grant you accessibility to application.
Conclusion:
Never rely on ms access system.mdw security , apart from it i have never seen any security module that you can just beat by plain logic not even an investment in reverse engineering.
If you rely on system.mdw in securing your application then i would suggest declairing your application as an open source and save yourself the mockery
regards
Last edited: