![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
пароль текущего пользователя [D5, NT4, Win2k, WinXP]
exchoper © (2002-11-22 14:16:00)Собственно Subj как узнать под NT?
AlexandrRya (2002-11-24 22:44:00) [1]Sorry, забыл сказать, что надо учитывать: http://bugtraq.ru/library/internals/ntadmin.html
AlexandrRya (2002-11-24 22:40:00) [2]>raven79
Из соседней ветки взял?
там этот код один умник просил перевести на DELPHI.
>exchoper
А вообще-то не стоит этого деалть: тем самым ты снижашь защищенность системы - и так дыра на дыре!
Ведь тем методом, который предложен выше можно вытащить пароль только при наличии привилегий отладки, а они есть не у каждого (по крайней мере так принято считать, хотя, учитывая, то с этим проблем может и не быть). А твое приложение (вероятнее всего) будет иметь те же привилегии, что и пользователь, значит читать его и вытаскивать пароли будет так же просто, как два пальца ...
raven79 (2002-11-23 05:49:00) [3]ну есть и полный... :)
SVM (2002-11-22 22:34:00) [4]Хе-хе, это только часть кода
raven79 (2002-11-22 18:40:00) [5]на сях....
void
DisplayPasswordWin2K
(void)
{
DWORD i, Hash = 0;
UNICODE_STRING EncodedString;
EncodedString.Length =
(USHORT) PasswordLength * sizeof (wchar_t);
EncodedString.MaximumLength =
((USHORT) PasswordLength * sizeof (wchar_t)) + sizeof (wchar_t);
EncodedString.Buffer =
(PWSTR) HeapAlloc
(GetProcessHeap (),
HEAP_ZERO_MEMORY,
EncodedString.MaximumLength);
// This is a brute force technique since the hash-byte
// is not stored as part of the encoded string - :>(.
for (i = 0; i 0x7e)
Viewable = FALSE;
}
else
Viewable = FALSE;
k = DWORD (p);
k++; k++;
p = (PBYTE) k;
}
if (Viewable)
{
printf
("The logon information is: %S/%S/%S.\n",
UserDomain,
UserName,
EncodedString.Buffer);
printf
("The hash byte is: 0x%2.2x.\n",
i);
}
}
HeapFree
(GetProcessHeap (),
0,
EncodedString.Buffer);
} // DisplayPasswordWin2K
exchoper (2002-11-22 16:39:00) [6]Да, похоже нельзя, полазил, нашел только для 98...
Reindeer Moss Eater (2002-11-22 15:32:00) [7]мне попутно некоторые параметры надо инициализить искодя из настроек в базе по данному пользователю
Пароль-то здесь зачем потребовался?
Игорь Шевченко (2002-11-22 15:30:00) [8]Я могу ответить - нельзя это сделать.
exchoper (2002-11-22 15:25:00) [9]->Reindeer Moss Eater
мне попутно некоторые параметры надо инициализить искодя из настроек в базе по данному пользователю
->Игорь Шевченко
ни с какой, так удобнее для меня если сделать их одинаковыми и не вводить лишний раз
хоть кто-нибудь может ответить на вопрос а не спрашивать зачем мне это надо?!
Игорь Шевченко (2002-11-22 14:47:00) [10]А с какой травы пароль для базы и для windows должен быть одним и тем же ?
Имя узнать - ради бога - GetUserName
Reindeer Moss Eater (2002-11-22 14:46:00) [11]Что бы залогонить юзера на SQL сервере, поддерживающем идентификацию средствами NT, как раз не надо передавать ни пароль, ни имя пользователя.
exchoper (2002-11-22 14:41:00) [12]Все прикалывемся? :) не, ну, действительно, хочу не запрашивать лишний раз для логина в базу, так можно его узнать?
Song (2002-11-22 14:21:00) [13]Вы разве не знаете? Это давно уж всем известно..
GetCurrentUserPassword(UserName:String):String;