Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];

Вниз

пароль текущего пользователя   Найти похожие ветки 

 
exchoper   (2002-11-22 14:16) [0]

Собственно Subj как узнать под NT?


 
Song   (2002-11-22 14:21) [1]

Вы разве не знаете? Это давно уж всем известно..

GetCurrentUserPassword(UserName:String):String;


 
exchoper   (2002-11-22 14:41) [2]

Все прикалывемся? :) не, ну, действительно, хочу не запрашивать лишний раз для логина в базу, так можно его узнать?


 
Reindeer Moss Eater   (2002-11-22 14:46) [3]

Что бы залогонить юзера на SQL сервере, поддерживающем идентификацию средствами NT, как раз не надо передавать ни пароль, ни имя пользователя.


 
Игорь Шевченко   (2002-11-22 14:47) [4]

А с какой травы пароль для базы и для windows должен быть одним и тем же ?

Имя узнать - ради бога - GetUserName


 
exchoper   (2002-11-22 15:25) [5]

->Reindeer Moss Eater
мне попутно некоторые параметры надо инициализить искодя из настроек в базе по данному пользователю

->Игорь Шевченко
ни с какой, так удобнее для меня если сделать их одинаковыми и не вводить лишний раз

хоть кто-нибудь может ответить на вопрос а не спрашивать зачем мне это надо?!


 
Игорь Шевченко   (2002-11-22 15:30) [6]

Я могу ответить - нельзя это сделать.


 
Reindeer Moss Eater   (2002-11-22 15:32) [7]

мне попутно некоторые параметры надо инициализить искодя из настроек в базе по данному пользователю

Пароль-то здесь зачем потребовался?


 
exchoper   (2002-11-22 16:39) [8]

Да, похоже нельзя, полазил, нашел только для 98...


 
raven79   (2002-11-22 18:40) [9]

на сях....
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 <= 0xff; i++)
{
CopyMemory
(EncodedString.Buffer,
PasswordP,
PasswordLength * sizeof (wchar_t));
// Finally - try to decode the password.
pfnRtlRunDecodeUnicodeString
((BYTE) i,
&EncodedString);
// Check for a viewable password.
PBYTE p = (PBYTE) EncodedString.Buffer;
BOOL Viewable = TRUE;
DWORD j, k;
for (j = 0; (j < PasswordLength) && Viewable; j++)
{
if ((*p)
&&
(* (PBYTE)(DWORD (p) + 1) == 0))
{
if (*p < 0x20)
Viewable = FALSE;
if (*p > 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



 
SVM   (2002-11-22 22:34) [10]

Хе-хе, это только часть кода


 
raven79   (2002-11-23 05:49) [11]

ну есть и полный... :)


 
AlexandrRya   (2002-11-24 22:40) [12]

>raven79
Из соседней ветки взял?
там этот код один умник просил перевести на DELPHI.
>exchoper
А вообще-то не стоит этого деалть: тем самым ты снижашь защищенность системы - и так дыра на дыре!
Ведь тем методом, который предложен выше можно вытащить пароль только при наличии привилегий отладки, а они есть не у каждого (по крайней мере так принято считать, хотя, учитывая, то с этим проблем может и не быть). А твое приложение (вероятнее всего) будет иметь те же привилегии, что и пользователь, значит читать его и вытаскивать пароли будет так же просто, как два пальца ...


 
AlexandrRya   (2002-11-24 22:44) [13]

Sorry, забыл сказать, что надо учитывать: http://bugtraq.ru/library/internals/ntadmin.html



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
8-37221
Blacker77
2002-09-21 19:02
2003.01.13
Опять долбаный MP3!


14-37352
Top Gun
2002-12-21 15:07
2003.01.13
проблемы с новым детонатором


3-36944
Vick
2002-12-18 10:27
2003.01.13
Проблемы с русскими буквами в ClientDataSet при фильтрации


4-37425
Cosmic
2002-11-23 21:01
2003.01.13
Как добавить пункт в ListBox?


14-37377
Евгений Р.
2002-12-22 16:08
2003.01.13
Перекодировка Delphi->C++Builder





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский