Udostępnij za pośrednictwem


Sesje o wartości null

Czasami wywołanie przychodzące do sesji o wartości null może wyglądać jak uwierzytelnione wywołanie. W szczególności wywołanie funkcji RpcBindingInqAuthClient zwraca poziom uwierzytelniania i dostawcę zabezpieczeń używanego do wywołania. Ta operacja nie oznacza, że wywołanie nie było w sesji o wartości null. Te dwa problemy są ortogonalne. W systemie Microsoft Windows 2000 zdalne wywołanie procedury może podjąć próbę personifikacji osoby wywołującej i sprawdzić uprawnienia po personifikacji. W systemie Microsoft Windows XP wywoływanie funkcji RpcServerInqCallAttributes i sprawdzanie flagi NullSession.

Istnieje inna odpowiednia różnica między systemami Windows 2000 i Windows XP. Jeśli określono tylko flagę RPC_IF_ALLOW_SECURE_ONLY, wywołania sesji null przechodzą w systemie Windows 2000. W systemie Windows XP z ogólnym zaostrzeniem domyślnych ustawień zabezpieczeń, gdy ta flaga jest określona, wywołania sesji null są odrzucane z odmowa dostępu. Jednak nawet w przypadku flagi RPC_IF_ALLOW_SECURE_ONLY RPC nie gwarantuje poziomu uprawnień użytkownika wywołującego. Wszystkie testy RPC polegają na tym, że użytkownik ma prawidłowe poświadczenia. Możliwe, że użytkownik wywołujący korzysta z konta gościa lub innych kont z niskimi uprawnieniami. Upewnij się, że serwer nie zakłada wysokich uprawnień po użyciu RPC_IF_ALLOW_SECURE_ONLY.