安捷伦 OpenlabChemstation 如果忘记了管理员密码可能需要重装软件,相当麻烦。本文尝试其他方法用有限的信息来解决这一问题。
- 按路径
C:\ProgramData\Agilent\OLSS\SharedServices.sdf
获取到SharedServices.sdf
文件。 - 用
SDF Viewer
软件打开.sdf
文件,查看内容如下:
- 解析
Users
部分的文件内容,可以看出密码是用hash+salt
的方式加密的,其中hash
为40位16进制字符,应该是sha1
算法,salt
为32位8-4-4-4-12
形式的32位16进制字符,这是UUID
的形式。 - 根据一般人设置密码的普遍习惯盲猜一下,用户名为
12345
的密码应该就是12345
,在Shell
中用sha1sum(password+salt)
验证一下:
$ password=12345
$ salt=bead0efe-f44d-4038-9a45-5e4b9a9042b8
$ echo -n $password$salt | sha1sum
7ece3d2fea46bb680960b2c89182e6d529935a1c -
结果与12345
的PasswordHash
完全一致,说明以上猜测是完全正确的。
- 基于以上方法,可以验证某个用户名的密码是否正确,编程用穷举法可以很快破解一些设置得比较简单的密码,用已知密码做字典还可以大幅度提高破解效率。
- 还可以替换
hash
和salt
来达到修改密码的目的。比如用账号12345
的PasswordHash
和PasswordSalt
替换admin
的相应值,则admin
的密码就变为12345
了。替换仪器电脑中对应的文件,就可以用密码12345
登陆admin
账号了。
网友评论