user pass na IB/FB

7 отговора 197 прегледа
#1

user pass na IB/FB

Здравейте!
Интересува ме как мага да разбера потребителите и паролите на база IB/FB?
Как и къде се пазят?

Венцислав Александрийски

Отговор
в отговор на v_automation #2

ISC4.GDB/security.fdb

Вътре има таблица USERS. Паролите са хеширани, но една и съща парола дава един и същ хеш. Така, че малко трудно може да се разбере паролата, но лесно може да се подмени.

Отговор
в отговор на andrew_nikoloff #3

Re: ISC4.GDB/security.fdb

Би ли обяснил за това малко по-подробно?

Отговор
в отговор на HP #4

Re: ISC4.GDB/security.fdb

Разбира се

Информацията за потребителите на даден IB сървър се пази в база данни с име ISC4.GDB. Вътре в нея има таблица USERS. При FB положението е същото, но базата се казва security.fdb. Файловете се намират в директорията, където е инсталиран сървърът.

CREATE TABLE USERS (
USER_NAME USER_NAME /* USER_NAME = VARCHAR(128) */,
SYS_USER_NAME USER_NAME /* USER_NAME = VARCHAR(128) */,
GROUP_NAME USER_NAME /* USER_NAME = VARCHAR(128) */,
UID UID /* UID = INTEGER */,
GID GID /* GID = INTEGER */,
PASSWD PASSWD /* PASSWD = VARCHAR(32) */,
PRIVILEGE PRIVILEGE /* PRIVILEGE = INTEGER */,
COMMENT COMMENT /* COMMENT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
FIRST_NAME NAME_PART /* NAME_PART = VARCHAR(32) DEFAULT _UNICODE_FSS '' */,
MIDDLE_NAME NAME_PART /* NAME_PART = VARCHAR(32) DEFAULT _UNICODE_FSS '' */,
LAST_NAME NAME_PART /* NAME_PART = VARCHAR(32) DEFAULT _UNICODE_FSS '' */,
FULL_NAME COMPUTED BY (first_name || _UNICODE_FSS ' ' || middle_name || _UNICODE_FSS ' ' || last_name )
);


Ето ти примерни данни. SYSDBA в случая е с парола masterkey. (останалите примери са със сменени хешове. сори! security )

USER_NAME -> PASSWD
SYSDBA -> n2zpJI3qBh2
KODAR -> Yh3pJv/N5vk
HTS_BROWSER -> 6A.KsTMntdU
HTS_EDITOR -> mМOWJSI3WoU
HTSYS -> 1y/T4hatQqA

Добавяме си юзер TEST с парола masterkey:

TEST -> n2zpJI3qBh2

Както виждаш хешът на паролата на TEST е същия, както на този на SYSDBA, от където можеш да заключиш, че паролите им са еднакви.
Хеширането става със същия метод, както се хешират паролите в Linux, само че стойността на солта е винаги една и съща (9А ако не се лъжа), от където и еднаквостта на хешовете на еднаквите пароли. Unix crypt е еднопосочен алгоритъм и принципно няма начин да се получи оригиналната парола от хеша й. Това имах предвид под "може да се смени". Добавяш си някакъв юзер USER1 с парола 12345678, гледаш какъв хеш прави, ъпдейтваш хеша на паролата на USER2 с новополучения и USER2 става с парола също 12345678. Е, разбира се, трябва да имаш достъп до компютъра, на който е инсталиран сървъра (или да знаеш администраторската парола, ама тогава няма много смисъл от тия еквилибристики ), че да му редактираш базата с юзерите...

Отговор
в отговор на andrew_nikoloff #5

Re: ISC4.GDB/security.fdb

А още по-лесно
вж. параметрите на <Fb/IB_directory>/bin/gsec.exe

gsec utility - maintains user password database

command line usage:
gsec [ <options> ... ] <command> [ <parameter> ... ]

interactive usage:
gsec [ <options> ... ]
GSEC>
<command> [ <parameter> ... ]

available options:
-user <database administrator name>
-password <database administrator password>
-role <database administrator SQL role name>
-database <security database>
-z

available commands:
adding a new user:
add <name> [ <parameter> ... ]
deleting a current user:
delete <name>
displaying all users:
display
displaying one user:
display <name>
modifying a user's parameters:
modify <name> <parameter> [ <parameter> ... ]
help:
? (interactive only)
help
displaying version number:
z (interactive only)
quit interactive session:
quit (interactive only)

available parameters:
-pw <password>
-uid <uid>
-gid <uid>
-fname <firstname>
-mname <middlename>
-lname <lastname>


А ако искаш всичко във визуална среда ползвай IBExpert

Редактирано от NDeu на

Отговор
в отговор на NDeu #6

Re: ISC4.GDB/security.fdb

Само ще коригирам andrew_nikoloff като кажа, че стойността на солта е "9z".
Между другото братушките са написали юнитче, което реализира хеширането. Ако те интересува - пиши и ще се разберем да ти го пратя някъде.

Светът е малък нека си помагаме.
Отговор
в отговор на Vermax #7

Re: ISC4.GDB/security.fdb

Имам го. Но благодаря все пак

Отговор
в отговор на v_automation #8

Благодаря за отговорите

Здравейте!
Благодаря за изчерпателните огтовори.

Венцислав Александрийски

Отговор